{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sns\n",
    "from matplotlib.patches import Patch,Circle\n",
    "import matplotlib.gridspec as gridspec\n",
    "from matplotlib.font_manager import FontProperties\n",
    "from matplotlib.lines import Line2D\n",
    "import matplotlib.patches as patches\n",
    "from copy import deepcopy \n",
    "from scipy.optimize import curve_fit\n",
    "from matplotlib.colors import LinearSegmentedColormap\n",
    "from matplotlib.legend_handler import HandlerPatch\n",
    "import matplotlib.colors as mcolors\n",
    "from display_v1 import *\n",
    "from TPN_v17 import *\n",
    "import warnings\n",
    "from matplotlib.colors import Normalize\n",
    "warnings.filterwarnings(\"ignore\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "nt=\"general settings\"\n",
    "datapath=\"D:/data/chainTPN\"\n",
    "colors_dict1={\"noisy\":\"#D6D6D6\",\"noisy_MF\":\"#9CB0C3\",\"noisy_TPN\":\"#9193B4\",\"MS_fixed1\":\"#AAB8AB\",\"MS_fixed1_fast\":\"#7C9D97\",\"MS_fixed2\":\"#E8D2B3\",\"MS_fixed2_fast\":\"#EAB080\",\"special\":\"#C16E66\",\"special2\":\"#896c39\",\"MS_RL\":\"#AAB8AB\",\"noisy_MF_fast\":\"#AAB8AB\"}\n",
    "def rgb_to_hex(rgb):\n",
    "    r, g, b = rgb\n",
    "    hex_string = '#{:02X}{:02X}{:02X}'.format(r, g, b)\n",
    "    return hex_string\n",
    "\n",
    "def get_fushi_colors(c_num):\n",
    "    colors=[]\n",
    "    colors.append(rgb_to_hex((55,103,149)))\n",
    "    colors.append(rgb_to_hex((231,98,84)))\n",
    "    colors.append(rgb_to_hex((255,208,111)))\n",
    "    colors.append(rgb_to_hex((114,188,213)))\n",
    "    colors.append(rgb_to_hex((239,138,71)))\n",
    "    colors.append(rgb_to_hex((239,138,71)))\n",
    "    colors.append(rgb_to_hex((82,143,173)))\n",
    "    if c_num>len(colors):\n",
    "        raise Exception(\"colors not enough!\")\n",
    "    else:\n",
    "        return colors[:c_num]\n",
    "colors1=[\"gray\"]+get_fushi_colors(7)\n",
    "method_list1=[\"noisy\",\"noisy_MF\",\"noisy_MF_fast\",\"noisy_TPN\",\"MS_fixed1\",\"MS_fixed1_fast\",\"MS_fixed2\",\"MS_fixed2_fast\"]\n",
    "colors_dict2=dict(zip(method_list1,colors1))\n",
    "colors_dict2[\"MS1\"]=colors_dict2[\"MS_fixed2_fast\"] \n",
    "colors_dict2[\"MS2\"]=colors_dict2[\"MS_fixed1_fast\"] \n",
    "fill_alpha=0.7\n",
    "bar_alpha=0.6\n",
    "markersize=10\n",
    "base_fontsize=16\n",
    "def rgba_to_hex(rgba):\n",
    "    r,g,b,a=rgba\n",
    "    return f\"#{int(r*255):02x}{int(g*255):02x}{int(b*255):02x}{int(a*255):02x}\"\n",
    " "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 900x432 with 3 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "nt=\"main-result1\"\n",
    "def fig1():\n",
    "    filename=datapath+\"/rand_RL_4.csv\"\n",
    "    fig=plt.figure(figsize=(12.5,6))\n",
    "    gs=gridspec.GridSpec(2,20)  \n",
    "    ax1=fig.add_subplot(gs[0,:6])\n",
    "    ax2=fig.add_subplot(gs[0,6:12]) \n",
    "    ax3=fig.add_subplot(gs[0,12:18]) \n",
    "    method_list=[\"noisy\",\"noisy_TPN\",\"noisy_MF\",\"noisy_MF_fast\"]\n",
    "    obs_list=[\"ZIIIII\",\"ZZIIII\",\"ZZZIII\"]\n",
    "    base_fontsize=14\n",
    "    markersize=8\n",
    "    alpha=0.7\n",
    "    label_loc=[-0.112, 1.1]\n",
    "    ylim=[1.1e-4,7e-2]\n",
    "    yticks=[1e-3,1e-2]\n",
    "    yticklabels=[\"-3\",\"-2\"] \n",
    "    xticks=[4,16,32,64]\n",
    "    xlabel=\"Random Circuit Number\"\n",
    "\n",
    "    plot_corr_MAE_1(ax1,'(a)',filename,{\"obs\":obs_list[0],\"error_type\":\"real-co\"},method_list,method_list,\"ri\",xlabel,r\"Err-abs(log$_{10}$)\",colors_dict2,markersize,base_fontsize,\"log\",yticks=yticks,yticklabels=yticklabels,ylim=ylim,xticks=xticks,xticklabels=xticks,xlim=[],xscale=\"abs\",ylabelpad=-3,legend=False,ncol=1,error=\"abs\",alpha=alpha,label_loc=label_loc)\n",
    "    ax1.set_title(obs_list[0],fontname='Arial',fontsize=base_fontsize-1)\n",
    "\n",
    "    plot_corr_MAE_1(ax2,'(b)',filename,{\"obs\":obs_list[1],\"error_type\":\"real-co\"},method_list,method_list,\"ri\",xlabel,\"\",colors_dict2,markersize,base_fontsize,\"log\",yticks=yticks,yticklabels=yticklabels,ylim=ylim,xticks=xticks,xticklabels=xticks,xlim=[],xscale=\"abs\",ylabelpad=-3,legend=False,ncol=1,error=\"abs\",alpha=alpha,label_loc=label_loc)\n",
    "    ax2.set_title(obs_list[1],fontname='Arial',fontsize=base_fontsize-1)\n",
    "\n",
    "    plot_corr_MAE_1(ax3,'(c)',filename,{\"obs\":obs_list[2],\"error_type\":\"real-co\"},method_list,method_list,\"ri\",xlabel,\"\",colors_dict2,markersize,base_fontsize,\"log\",yticks=yticks,yticklabels=yticklabels,ylim=ylim,xticks=xticks,xticklabels=xticks,xlim=[],xscale=\"abs\",ylabelpad=-3,legend=False,ncol=1,error=\"abs\",alpha=alpha,label_loc=label_loc)\n",
    "    ax3.set_title(obs_list[2],fontname='Arial',fontsize=base_fontsize-1)\n",
    "\n",
    "    #label\n",
    "    labelspacing=0.8\n",
    "    handletextpad=0.2\n",
    "    label_size=2.5\n",
    "    handles=[] \n",
    "    label_list=[\"Noisy\",\"TPN\",\"MF\",\"MF(sub)\"]\n",
    "    for name in method_list:   \n",
    "        handles.append(Line2D([0],[0],linestyle='-',color=colors_dict2[name],marker=\"o\",markersize=markersize,markeredgewidth=1,markeredgecolor='white',label=label_list[method_list.index(name)]))  \n",
    "    ax2.legend(handles[:2],label_list[:2],handletextpad=handletextpad,labelspacing=labelspacing,prop={'size':base_fontsize-label_size},ncol=2) \n",
    "    ax3.legend(handles[2:],label_list[2:],handletextpad=handletextpad,labelspacing=labelspacing,prop={'size':base_fontsize-label_size},ncol=2)\n",
    "\n",
    "    fig.subplots_adjust(wspace=2,hspace=0.12) \n",
    "    plt.savefig(\"../paints/result1.pdf\", dpi=800, format=\"pdf\", bbox_inches='tight')\n",
    "fig1()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAz0AAAHBCAYAAABDp9U+AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAAsTAAALEwEAmpwYAADuxElEQVR4nOz9d3yc13ngff/OFFSSGDQ2sIAAiyhRDQCpYlkiLcCKLdOFAkSnrJPdhIST5933zSY2YWaLdrPPZ2nS3mTfJ9k4AJ2N4zRToGQ7tCwrgKxqFZIAqUKxAmABOwkMWFCmneePKRyU6X3m+n4+/JAzc889B0Pyvu7rlOsorTVCCCGEEEIIka0MqW6AEEIIIYQQQiSSJD1CCCGEEEKIrCZJjxBCCCGEECKrSdIjhBBCCCGEyGqS9AghhBBCCCGymiQ9QgghhBBCiKwmSY9IW0qpnUoprZQa9vvVo5TamsDP3KaU6krU+YN8btx/LqVUn1JqZzzPKYQQYrJcilVCZDJTqhsgRAi9Wut67wOlVB3QqZSq1Vq3pbBdmaAN6E91I4QQIgdIrBIizclIj8goWuteoAXYluq2pDut9V7P9xU3SqmtkfYuRvMeIYTIZLkWqyQ2iEwgSY8QQgghhBAiq0nSIzKKUqoR6AR2+T231bN+RXvmUdf5vdbl7U3ym2dd4/d6jec57elxqp3yeRalVLvnvX1KqW1TXveev9Pv/BbPHG/v3O5w53XX+p2nb8rPEexn9LbP+1qN5/lJc8oDHRfge552rFKqE2gHGr1tDNW+EO+xBPp5hRAik2VrrJLYIDKZJD0i3dV5LpZaKaVxXyR3TpkjPQTUa62V5/VX/V4rA3YCrcAyz3P+7+3Cve6lFPdUhIYpn/8qYNValwL1QJNSqn2G87f5nX8AOOB5zw5Pm8LRCLR53tc95eeY8WdUSjUDDVrrUs9rWzzHThLuccGO1Vq34P4euz2v+QfdGdsX4j2dnvOWeo7x/3mFECKTZH2sktggMl3YSc/UXuMwju+c2tMgRBR6tdbKc8FsA9Bad/gf4Fm7YvV7zTKlZ+h5rXW/55g9gHckpBGo0Vq3aK2tfq/j97rFG7Q8r7cAW5VSliDnR2u91/PaXs+5/I8PZI/Wut/z/lbPz9EYxs9Yo5RqVEpZtNa93uNmEO5xkR4bzt/BJJ7XGjw/J1rrbqDb+/OK3BRpnPG8R2KNSAe5EqskNoiMFVbS4+kt6J/6HziELcB2+Ycq4kVrvQvcpTr9n/cb1u/xHyL30xPglDVAsIX+dUypfuZ3gfefGjb1/P7vmXE0JUz93Al6M/6MnoDl7aEb9kxhsEw9UbjHRXqsVxh/B1M14A5+fd5fuL/vgFPuRHabKc54/k2FWugssUaklWyNVRIbRKYLmfR4su6tuANL2Dz/4doIf2qPEOFoBXZ6L7Se34eBLq11/ZQh8lB8SUWQ1ydNIVB35lgnoxR0DXAw1M+otd7lea4U9xSGGXvKwz0u0mOj/DsYwt0zWjvlVyQdKyJLRBtnQGKNSFtZGaskNohMFs5Iz3Zgrw4xhDkTzz/SMs88UCFi5hnq3gvs9jxV5vm9H3xzjiM5l7eH2RskWv1e3wsMeXqpLJ4LeDvQEc3/hzA0eT/Hs8izX7vLngb8GT3TDPx7uAOt0wnruDCOHQIaPG30HhPq72DaezzfrcW/J1Qp1SwLVnNW1HEGJNaI9JONsUpig8h04SQ9zfjNHY1CN37/OYWIgy1As1Kq0bMGZi/gHTpfi/sCaw3zXPW4L7rDuBd57mVyz1g97gv3AO6pAb3eucZx1o97+kIn7p4xi+ezCeNnbPO0fwD3QtZdzCzc44Id2407UA3g+X8dRvumvcejHlirPJWDgCZkM9VcFWucAYk1Iv1kY6yS2CAyltJaB37RnXl3AaXR9hZ4FqW2exb3CSGEED7B4oynZ7tGa90Uxnkk1gghhAgo1EhPHe5M3jr1Bc8wp7ee/LCaXBrR30HP8bIITQghxFQB44xHmVJqm7qzR0lngOMk1gghhAgoVNJTTuC5/zW454zW4y6N+GyAxMfqd7wQQgjhL1icAXdSBO4404p7upDEGiGEEBExhXjdQoD5plMqafQrpTpwz8ueKpaSvUIIIbKbheDrGnr91g10eBZpezdx9CexRgghREChkp6yYC96KnFsxt2zFqp3zRJ+s4QQQuSIoHFmBt5KVnWe6oZTWWJukRBCiKwTKukZ4s7UgkmUUt5NrnbgDkJbcZcdDcQaaeOCUUptBDbOnj17y8qVK+N5aiGEEAnQ09NzTWtdOeXpgHEmBGuEz0dM4owQQmSWAHEGCJ309AHPTn3Ss1C0Dqj39rQppcoDnMPbixfXqQda633AvoaGhi0HDx6M56mFEEIkgFLqzAxPzxhngvDu5zG1hG3cY43EGSGEyCwB4gwQupBBPzNMFfALNtuVUjWekqOBduWt87xnpmkIQgghctuMccZPnad6W42nLPVOYKY9piTWCCGECChU0uObOz3Da224e9x6cFfV6WDmzaPWBnheCCGECBZnrLg3NyzHHWt2Aru01m0zHCuxRgghREBBp7dpra1KqX7cxQp6p7y2i5l726ZqxB20hBBCiElCxBn/5GamRMefxBohhBABhRrpAXfPWqCpa0F5eu7qcO/nE1dKqY1KqY6RkZF4n1oIIURyRR1nIHGxRuKMEEJkj5BJj2c/nn7PXOpIbcc9FSHuUw601vu01ltLSkrifWohhBBJFGOcgQTFGokzQgiRPUJVb/PaAryqlOoON6h4gleN1rol6tYJkSR2u53BwUHGx8dT3RQhMlpBQQGLFi3CbDZH+taI4wxIrBEiXC6Xi2vXrmG1WnE6nalujhBRMRqNWCwWKioqMBjCmbB2R1hJj9a6Vyn1JJFt+jYEPBlRa4RIkcHBQWbPnk11dTVKqVQ3R4iMpLXm+vXrDA4OsmzZskjfG02cAYk1QoRlcHAQpRTV1dWYzWaJdSLjaK2x2+1cvnyZwcFBlixZEtH7w06RtNa9kZQC1Vrv1VpbI2qNECkyPj5OeXm5BAEhYqCUory8POoR00jjjOc9EmuECMPt27epqqoiLy9PYp3ISEop8vLyqKqq4vbt2xG/P7JxISGymAQBIWIn/4+ESF+RTgcSIh1F++9Y/vULIYQQQgghslq4hQzSjlJqI7Bx+fLlqW6KyFLf/e53oxo+jURxcTHf+MY3qK2tBaCvr8/3WmtrK/X19WzdGrigldVqpbS0FK11QtsZlSP/GRw3E/sZptlwz38HYNeuXezZswdwfy9DQ0PU1NQAUFNTQ2dnJ7W1tVgsFsrKygCwWCzs3r0bi8UCEPXfQ7x8ftvfMnRjLKGfUTankJ/v+rcAvu+jp6dn0jG9vb3U19fT2dlJc3PzpGP97dy5k8bGxoS2N5UkzohsN/K/fx09OpzQz1BFpZT8X/+c0M8IpL+/3xcHYmW1WqddA5Pl+PHj2O32hH6G2Wxm1apVCf2MVMvYpEdrvQ/Y19DQsCXVbRHZKdEJz9TPqKmpYe/evb6bzHBYLBaGhxMbsKKW6IRnymds27aNbdu2AdDR0UFXVxednZ3T3tLZ2ekLgnv37qWlpYWuri7f69H8PcRLohOemT7DarVOuzFob2+fdqMwNDREV1dX3G4gMoHEGZHtEp3wRPIZ4XbChNPBBe7r+9DQUEwdVi0tLbS2ttLY2MiWLVsmdZIlk91uZ82aNQn9jI8//jiq98XS+VpfX09jYyM7d+6M6rMjJdPbhEgTbW1ttLWF2nR+ulT1PGWD5uZmuru7Jz0X7d9Dpmpubmbv3r2Tnuvu7s7qERwhRHrydsL4m9oJs23bNnp6eujp6aGtrY3GxkbfY2/CY7Va2bFjR1xH6Hfu3ElLi1TGnyraztepcScZJOkRIk00NDRQU1Mz7Sbca+/evdTX11NfX09HR4fv+dLSUsA9jO99vb6+HqvVSktLy6QLS1NTE729ERXHymp79+6ddnMf6u8h22zevJn29nbfY0l4hBCpEq9OmI6ODlpbW+PZNF/iNTUpE9F1vu7YsSPuf0ehSNIjRBoJNMrQ29tLe3u7rzerq6tr2k15e3s7ra2tvmMsFgutra2+G1pvD1pdXV1SfpZ01dLSQlNTE01NTezZs2fGKXC5NNpjsVioqanxJcPef0cz8f/upMdTCBFv8eqE6erqmvY+b4dhfX2973FbWxv19fU0NTX5jmtra6O2tpaWlpZpCU5TU1NKRijSzdTv0tv5Gq6Ojo6UdK5l7JqeRHv99dd54403fI+feOIJ1q9fnzHnF5nJexGYOhqzZ8+eSTeZra2tdHZ2TrpoeG9E+/r62Lx5M3V1dTQ2NtLa2orVauX5559PyTqVdLN79+6QiV+gv4ds1drayp49e6irq6O3tzfg9+O/HkoIIeLNvxOmrq6O9vZ2tm/fPikRCsfBgwenXat6e3t9nYLex52dnezcuZP6+nr6+/uxWq10d3f7itl4b+q9vG3KdVO/Sy+r1TppJspU3vuSnTt30tPTw/PPP5/opk6Sk0nP2NgYDocj6DH19fW+pOSP/uiPALh5M/jCbJPJRGFh4bTPUEphNBpxOp2+hV7Bzj/T8VPPL7LX9u3baWtrC3pzabVapz3nnde8d+9ennzySXp6eqipqaG5uZnnn3+ezs5OuVhHIJy/h2zR3NxMW1sba9eulcRYCJFS4XbCRMM/BnoTLHBPXevv76erq4vNmzf7jpl6/S8rK5sx/uaime4nLBaLr6BQIB0dHTQ3N6dkPXJOJj0Oh4MXX3wx6DH+i7L+7M/+jJKSkpDDd5s2bZr2GaWlpTzwwAMcPnx40jkDnT/Q8VPPL7KX9wYU7vQyNTU10dbW5luUOdMUJG8Frm3bttHX1+d73NraSltb26QKNyK0mf4eslldXR1tbW2TKtkJIUSyJaoTRor+xE8s32VfXx+9vb00NTXR39/P0NAQQFIquOVk0hMObwIS6zkCJTAznT/Y8SL5iouLk7JPz0za2tpobW31TWnzTlPz3nxv3rx5WjDo7u729byUlZX5pmh5e7D8e6+SwjQ7Ofv0JNDUv4dEK5tTmJR9emayfft2duzYIYmxECLlUtUJ4+1g9I5WTJ3iHM99f7JRONPb/JObXbt2cf369aSVrM7YpCfdN41TSkWUwEjCk36+8Y1vJO2z/DfDBNi6deu0UpszPQd3Rg0DvQ74prkllWfT0FQI9F1M/Z5DvR7sO00E76ahyeL/89bV1U0q6jB16kIuXpfSPc4IEStVVJqUzUkjFWsnTENDQ1RT4xobG2lsbKS2tpbGxkZqamp8m1nDnSqpyWY2m6PeRyeSz4hVONPbUkml5U7uEWhoaNAHDx6M6D03b94MOb0tGps2bWL2bHfP89jYGF1dXXFNePzPL+Lr6NGjrF69OtXNSJimpiaZtiSSJtD/J6VUj9a6IQVNikk0cUaIdJPtcc5fR0cHfX19cR9BqK+v59VXX5WpcmkgmjgjJasTxOl0ygiPSLldu3b5ynIKIYQQuWDr1q1x32utt7eXhoYGSXgymCQ9CRLOCFqkCY9SKh5NEznEu3O1bDYphBAil3R2dsZ188v29napgJrhJOlJkUgTntLSUoxGYxJalrsyfaqnEOlA/h8JIdJBTU1NXJMUSXgyX8YWMshk0SQ8DzzwAE6nMwmty01GoxG73U5eXl6qmyJERrPb7ZhMElqEECJejh8/jt1uT+hnmM1mVq1aldDPSDWJTEkWbcJz+PBhNmzYkIQW5iaLxcLly5epqqrCYJABUCGi4XK5uHz5MiUlJaluihAiDL/b8RLW0YmEfoalKJ+/2fp0Qj8jkHiXmLZarSlZ02O321mzZs2k527dusW5c+dYvHgxs2bNCnmOUMdHWx3OarVSWloa8Sh/W1ubryT41EJL9fX1NDY2xr0QhSQ9SRRLwiNFDhKroqKCwcFBjh8/nuqmCJHRiouLqaioSHUzhBBhSHTCE8ln1NbWYrFY6OnpmfR8b28v9fX1dHZ20tzczK5du9izZ4/73FbrpI23a2pqfKX39+7dy9DQUFTbDpSWls5437VlyxZ2796d8mIG8U54YmGxWCK+R/XuOzhTUrN37954NW0aSXqSRBKe9GYwGFiyZEmqmyGEEELkLKvVOm10pr29fdLjbdu2+faC6ejooKura9IeY97z7NixY1oCFaudO3fS0tKS0i0g0inh8YokCbRarZM2U59qx44dtLa2htxXLxoyjycJJOERQgghhAiuubl5Wk9/d3d3xBVIOzo64lq5zcubfPX398f93OFIl4Snvr6ejo4O30atpaXhb0Db3d1NTU2Nb7TH/++po6MjodVmZaQnwSThEUIIIYQIbfPmzbS0tPhGcqJJeMC9RsR/JKG/v5+WlhbfY+8Go/7T2FpaWmhtbfV9XltbG93d3ZSVlU0a2WlqamLv3r2+NiZLuiQ84J5y2NPTM20kzWq10tHREfB9dXV19Pf3c/DgQd93Wl9f7/t73rlzJz09PTz//PNxba+XJD0JJAmPEEIIIUR4LBYLNTU19Pb2UldXR3t7O9u3b4+4XPTBgwenTZFrbW0Ne32P1Wpl+/bt7Ny5k9bWVnbt2uVLcrztSrZEJjy3bt2KuD0zfQcWiyVkMtjb28uzzz7re7x582Z6e3vp7++nubk5oeulZHpbgiilJOERQgghhIhAa2urr1CBN/mJVVNTE21tbZMqhgVjsVh8N9+tra2TRnrKysqwWq0xtylSiUx4zp07F1FbYklMAv199vX10dvbS1NTEzt37qSjo4O2traoP2cmaTfSo5RqBFq11i0hD05jRqNREh4hhEhD2RJnhMhGzc3NtLW1sXbtWpqbm+NyzsbGRnp6eti7dy9PPvkkPT09cS1lnQyJTHgWL17M6dOnY25jONPbGhsbaW1t9ZX/3rNnD7t3756UDO3atYvr169nd8lqpVQ7UAZk1r/EGTidTkl4hBAizWRTnBEiW9XV1dHW1ha3KmneinDbtm2jr69vxv17uru7fYvq/Udy2tvbaWpqmnauZDKbzRHtoxNpAnP69GnMZnOErZounOlt4P5On3zyScA9khaP0bxwpFXSo7VuVUrVAbtT3ZZYhbNJU6QJj1IqHk0TQoiclU1xRohYWYryk7I5aaS2b9/Ojh07ok4uGhoaJk2N8y+RXFZW5itW0NjYSH19PQ0NDTQ0NFBWVgbgqy7mXRs0tSiCt2pZsqxatSqpnxfK1HvWSDvtvSNvgSSqSISKdAfVRPMGI611wH9RSqmtwFaAJUuW1J85cyaiz7h58yYvvvhiTO2cyaZNm5g9e3ZYnxFNkYOmpiYKCwvj1l4hhEgmpVSP1rohDdqR8DgjRLo5evQoq1evTnUzkqKjo4O+vr64T48Cd7Uxb/U3kTqB/j0HizMZWchAa92htW7QWjdUVlamujkRi7aqm9PpTELrhBBCZHqcESKXbd26le7u7rift7e3l4aGBkl4MlRGJj2ZLJYy1uk2KieEEEIIkY46OzvjvkFpe3t7SspVi/hIWdKjlOpUSvV4foVXOH3y+zcqpTpGRkYS0byEkH17hBAieXIxzggh3KauxYkHSXgyW8oKGcRaKlRrvQ/Y19DQsCVOTUooSXiEECK5ci3OCBGK1lqKIomMF+3Mp7Sa3uYpJbobqFNKdXn2Ugh0bMb0wEnCI4QQ6SFb44wQoZjNZsbGxlLdDCFiNjY2FlWJ7bRKerTWrVrreq210lo3aa0DrkLTWu/TWm8tKSlJZhMjJgmPEEKkj2yMM0KEY+7cuZw/f57R0VFZIywyktaa0dFRzp8/z9y5cyN+f1rt05NtJOERQgghRDqYM2cOABcuXMBut6e4NUJEx2w2M2/ePN+/50hkbNKjlNoIbFy+fHmqmzIjpZQkPEIIkcHSPc4IEak5c+ZEdbMoRDZIq+ltkUj3aQdGo1ESHiGEyGDpHmeEEEKEL2OTnnTndDol4RFCCCGEECINSNKTIOEsEow04ZEyk0IIIYQQQkQu7mt6lFJzgEZgLWAByoAhoA/o1Vr/Mk6fk9FzraMpcmA0GpPQMiGESF/JijGez8roOCOEEOKOuI30KKUeUEo9D1iBPwFqAQUMeH7/LNChlHIqpXZ4AlfUMnmudbRV3ZxOZxJaJ4QQ6SfZMQYyO84IIYSYLC4jPUqpLUAb8G2t9bMhjq0BngF6lFLNWusP4tGGTBFLGesNGzYkoYVCCJFeJMYIIYSIVcwjPUqpJ4FarfVyrfX3Qx2vte7XWn8H99SE/xjr52cS2bdHCCEiIzFGCCFEPMQ80qO1fhV4NYr3WYGgPXbBZNpca0l4hBAicqmKMZB5cUYIIURgCducVClVAmwHmoFSz9NDQDfQprW+Ecv5tdb7gH0NDQ1bYmpoEkjCk7tef/113njjDd/jJ554gvXr16euQUJkiUTHGMisOCOEECK4RJasbgF2eKYklHt+rQB2AVsT+LlpRRKe3Oaf4Dz33HOS8AgRPxJjhBBChC2RSc+A1npk6pNa6wHgUAI/N21IwiOEEAmT8zFGCCFE+BI2vQ2oUUo9CPT7PVeGe1+F/hnfkUWUUpLwZLkboxPY7I6wj782cjus4/LMJuYU5UfbLCFyRU7HGCGEEJFJWNKjtd7tCUiNuPdTAPfmcd1a65h74dJ9ganRaJSEJ8vZ7A7+y990hTxunuf3cI4F+NPfbQIk6REimETHGEj/OCOEECJ8iRzpwRN4pgUfpVS11vp0jOdO6wWmTqdTEh4hhEigRMYYz/nTOs4IIYQIXyKrt1UHebkZ+G6iPjsdaK1DHhNpwqOUikfTRBIVT1zy/XnezQ+4lTeP2/nzU9giIbJDrscYIYQQkUnkSM+3cJcRnelOfRk5HpCiKXJgNBqT0DIRT7fz50uSI0RiSIwRQggRtkQmPW1Ag2djuUmUUs8k8HPTXrRV3ZxOZxJaJ4QQGUFijBBCiLAlrGS11npkpmDkee2FRH1uuouljHU4U+aEECIXSIwRQggRiYQkPUqpBxJx3kwn+/YIIUTsJMYIIYSIVKKmt3UCK6Y+qZTaBHwf0EB9LNV1Mq2UqCQ8QggRNwmPMZ7zJTTOvP7667zxxhu+x0888QTr16/PmPMLIUQmSdT0tkNKqR1KqVeUUjv8nt8NbAFagZ2xfIDWep/WemtJSUksp0kKSXiEECKuEh5jIPFxxj8Bee655+KekCT6/EIIkUkSWcigFugAmpRSP8IdhEq9c62VUu0J/Oy0IQmPEMFJb7SIksQYIYQQYUtU0vOk1rrc8+cXlFLXZzhmKEGfnTYk4REitPXr1/uSnueeey7FrREZIu1jzNjYGA6HI+zjb968GdZxJpOJwsJCxsfH0VrjdDrDKnJz69YtjEZjyOO95xdCiGyTqKRnQCn1Fa31j5VSW4B+3PspAKCUKmHmvRWyhlJKEh4hhEiMtI8xDoeDF198Mezjwz1206ZNgHsD7K6urrDjxdDQUFjxxXt+IYTINolKelqATqXUXuBVYBjoBXqVUq8AZcRhvnU6MxqNkvAIIURi5HyMcTqdEcWLcOOLUlndHymEyGEJSXq01gNAw0yveXrl0FrvTsRnp4twA5IkPCKbucZvgsMe/vG3wpyRZDJjKJgdZatEppMYQ1hT2kpLSzl9+jRA2PHIaDTG2jQhhEhLiSxkMKNsD0Re4QakSBIe6YETGcdhZ/Rn3w7jwGKAMI+Foi98K4ZGiWyWSTHG/7p/+vRpSkpKKC0tDfKO8JWWlk6KQ6HO741HTqczLp8vhBDpJlElq1FK/Z5S6pRSyqmUuq6U+t1EfVYmiqbIgfTACSGEWzbEmNLSUqqrq32/4pnwPPDAAyilwjq/fzwKp8NOCCEyUUKSHs/0gq/jLiG6HNgMbI9nUFJKbVRKdYyMjMTrlEkTbVU36YET2eida2bfn//n8eJJj4WYSTJijOdzMi7OSNVQIYSYWaKmt20Dmvx2wx5QSn0WeAX4m3h8gNZ6H7CvoaFhSzzOlyyxBKQNGzYkoYVCJNejFXYerQh/3Y8QJCHGQObFGUl4hJiZ7AcnIHHT28r9ghEAWut+oHzmw3ODBCQhhIgLiTFTSHwRIjD/BOe5556ThCdHJWqkp1sp9cda6//pfUIp9Q2gO0Gfl/ayMSAluudEemaEEAFIjPGTjfFFCCHiLVFJzxagRyn1VdybxtUD2vN7zsnWgLR+/XpfUvLcc89l3PmFEBlLYoxHtsYXIYSIt0Tt0zMCLFdKPQPUAM9rrV9IxGelOwlIQggRXxJj3CS+CJGg/eBkL7islNB9enIxCPnL6IDkGAXtCP94+43wjlMmMBV5zu8EZXT/TogyqfYbgAp9vPf8Qoisl8sxRimVufFFiHhKwH5wshdcdopL0qOU2hTusVrrF+Pxmeku4wOSdsCZH4Z/fLjHLv2a5/xOmLgKQ/vBdi30+y7+HMrWhT7ee34hRNaQGDOd0WjM3PgihBApEK+Rnj8J8zgNSECaIicDkjKGn/BAeAmPECJbSYyZwul0JiS+KKXi0TwhhEg7cUl6tNYN8ThPNklUQMoa2hlZAhN2wiMBW4hsIzFmOq1DTAkmuinWRqMxHs0TIq1M3QT7kXKb7A+XgxK6pieXJSIgpVsP3Osfjvr+/N/+8TpP3FvI+vvCXU8T+vt5/cidP/+3vz0e+vx5Fe4RJCGEyHHRril1Op1JaJ0QySWbYAuIQ9KjlHoSKIlmHrVS6nta69+PtQ2ZKBt64NbfVxRBkhOhvArWP7mO9Q+GOcKTV+GeAqclYAuRTSTGRC6WIjobNmxIQguFECL5DLGeQGv9KvBZpdQrSqn7w3mPUmqLUuok0BXr52ci6YELwZvAhDulzf/4MEaQhBCZQ2JMZDK6aqgQQiRQvNb0fF0p1Qy8oJQqxb0rdj9wHbACFqAcqAMagIPAs1rrQ/7nUUptBVo9x7drrXfFo33pRHrgQogl4ZEiB0JkpXjFGMjuOCMJjxBCBBa3NT1a673AXqVUHfAksBb37thlwBDuALUX+LrWemDq+5VSNUC91rre87hPKdXvOW9WkIAUgiQ8EXv99dd54403fI+feOIJ1q9fn7oGCZEgscYYyO44I/FFCCGCi3shA611L9AbxVstwE6/x+1AE+4glvEkIIUgCU9U1q9f70t6nnvuuRS3RojEiyHGQJbGGYkvQggRWkKqtyml5mitb/g9/gyA1vqXgd7jCWRTWQOcfyuwFWDJkiUxtTUZJCCFIAmPECIC0cQYz+tZF2ckvgghRHhiLmQQQKc3CCmlvgd0AB1Kqb8K581KKQvuOdftM72ute7QWjdorRsqKyvj1OTEkIAUgiQ8QojIxRRjPO+zkOFxRuKLEEKEL1H79DRqrZ/y/HkrUIu7N60P+IMw3r8baNFa9wc6QCm1Edi4fPnyGJuaOBKQQpCEJ6iboxMA2B1OXGHs+zR0YxSzyRjy+DyziTlF+XFrpxApEGuMgQyPM0opiS9CCBGBRCU9I+DbX2FAa33a89i3u6ZSqhOo8Txs11p3+D2/I8A0BB+t9T5gX0NDw5b4Nz92EpBCUZLwhOEvXniHwasjQY+Z5/n93JURXnr3WMjj//R3mwBJekRGCxljPI+zNs4YjUaJL0IIEYFEJT3dSqlXcJcO3QG+4HTQe4DWumXqm8INRJlAAlIIyigJTwh2hzNkAuMvnIQHwDD5vlBkAKnSN03IGAPZHWecTmdC4ouS64MQIkslJOnRWj+rlHoG6NBav+D30s5A7/HswdAM1PlddLu11q0Bjk/baQeQuICUNbQzQQlP9gTscKa0LaoswX7T/edwEp5FlSWYTcZYmyaSTKr0TRZNjIHsijM6jOtDNFOsjUa5PgghslOiRnrwBiKlVLXW+rRnV+1gx+8lgjvWdJ52AIkJSNnVAxf6+4lqzY/KnYC9qLKEmuJbHPc8nnfzA27lzeN2/vyAxz/9yF3YHc7kNVKIBIk0xnjek1VxJpho15Q6nXJ9EEJkp0SVrC4Bngca3Q+Vxj2fOtwFpllPeuBCiLbIgc6NgO1NYF569xiXZ98f0fFbv7guCS1MHzI1LPtIjAkuliI6GzZsSEILhRAi+RI10vM87t605VrrAc8u2M8rpX6ktf5qPD4gnacdhCI9cCHEUtVtwecT374U809gwp3SFsnx2Sbdp4bdGrdhd7rCPn749nhYx5mNBmYV5EXbrHSX8BgDmRlnpGqoEELMLFFJTxNg8W4ep7XuV0o14i4nGheZOu1AeuBCkDLWQUnCk33sThd//vL+kMd5x3nDORbgP3wuq0f0Eh5jPOfNqDgjCY8QQgSWsOptTFm0obW2KqUGEvR5GUECUgiS8AQlCc90rvGb4LC7HygFRjM47RBgTZ3r1tCdB8GON5kxFMxOUKtFHEiMmULiixBCBBeXpEcptWnKU73A95VSezyPy3D3zHXF4/MykQSkECThCUoSngAcdkZ/9m0MlgXkrWnC9nEXLuvFGQ4sBmD0Z98GCHl80Re+lchWiwhJjAlO4osQQoQWr5GeP4nw+Zhl0lxrCUghSMITlCQ8wYVOeGI7Ph2oK3cGMIxHXsNVWY2euyyFLUq6pMcYyIw4I/FFSLEWIcITl6RHa90Qj/NE+JkZMddaAlIIkvAEJQlPCEplfcIDoOcuw5lbSc4kqYgxns9N6zgj8UVA+hdryQWSeGaGhO3TIyQghSQJT1AGpSThCcVoDpnAvHPN7Pvzd96/waOD+3hkVg78/xJZTSkl8UWINCGJZ2ZI1D49y4BO4MEpL/VrrVck4jPTjQSkUJQkPCGYTUZJeEJx2kOO2DxaYeex5RWRjfBk1UbA2UdiDBiNRokvOeDG6AQ2uyPs46+N3A7ruDyziTlF+dE2S4iMlMh9erqAZ4F/xb3AtAUojdcHpPtcawlIISijJDwh2B3OhCQ8hmy6oQ9Qpc1fNGt+MJpDHidSKuExBtI7zjidzoTEF5VN14csYLM7+C9/E7o+xzzP7+EcC/Cnv9sESNITjklVQqfyrwLqPd6/Smiw440mqRKaZIlKemq11mvBfQHVWg8Au5RSJ4Ht8fiAdJ9rnaiAlDW0M0EJT/YEbFcYN/TRrPkxm4whj8sW0RY58A9gIi0lPMZAescZHcb1IZop1kZj7lwfhAiLp0roVNPjy+QqoaGOlyqhyWdI0HmHlFLe9LVbKbVBKVUN1Cbo89JOIgJSdvXAhf5+olrzo3InYEdb5MDucCahdakXS1W3cEaQRErlfIwJJdo1pU5nblwfhIhFLlQNzUaJGulpxz3d4EVgJ9CD+y53b4I+L+NID1wI0RY50LkRsGOp6rb1i+uS0MLUkoCU9STGBBFLEZ0NGzYkoYXhS3RVLKm6JSIl8SVzJSTp0Vp/x+/PA55FpzVa60OJ+LxMIz1wIcRS1W3B5xPfvhSTMtbBSUDKfhJjAsu2qqGJroqVDVW3iicu+f487+YH3Mqbx+38+SlsUfYKFC/8q4T+z+PFPFJu49EKu8SXNJPwktVKqWqt9WkgrsEonReYBpNNPXAJIWWsg5KEJzhJeHJPomKM59wZFWeyLeER4bmdP1+SnCQIFi8erbDzaIU97ONFaiRjn54eoDzeJ03nBaaBSEAKQRKeoCThCU4SnpyVkBgDmRVnMjK+OEZBh1+OGfuN8I5TJjAVTTm/cq/51E4CrimddP4gx3vPL3KGxJfskIykJ5tW30ctIwNSMknCE5QkPMFJQMppOR9jMja+aAec+WH4x4d77NKvTT5/uPHCe/5Qx3vPL3KDUhJfskSiqrf5y/kySBkbkJJFEp6gJOEJThKenJfTMUbiSwgSX0SsjGaJL1kiGUnPQBI+I21JQApBAlJQkvCEID1wIodjjMSXUJTEFxE7pz0x8SWrtiHJDAlJepRSB5RScwC01g2J+IxMIAEpBEl4gjIoJQlPKNIDl5Mkxrj3bcuF+PL6h6O+P/+3f7w+6XFIyhgyXkw6/98e5/VXf54T8UVEIIx926KZcYDRHPI4EV+JWtPTA3wL+JMEnT/t5UpAip70wIViNhkl4QlFeuByVc7HGKPRmBPxZf19Ray/L8qiAdoZMl6sv6+I9Q1LIowvcn0Qd0Q7xRqnPeSxIr4SlfR0Ap1KqRqgGxjyvqC1fjEeH5DupURzJSBFLYweOJ8cTHgA7A5nQhIeQzbd0EsPXK5KeIyB9I4zTqczIfFFZdP1IZzlXtHMOFA5tFG4CCqWNaUFj/12Eloo/CUq6WkD+oHlnl9eGvcO2jFL91KiiQpIWSOMHjggioQnewK2K4wb+mjW/JhNuROwpQcuayU8xkB6xxkdxvUhminWRmPuXB+inmKtc2SjcBGUFNHJPAlJerTWn03EeTNJIgKS9MCFcXwO9cBFW+TA7siNgC09cNlLYkxo0a4pdTpz4/oQ05rSBZ9PfPtEWpOEJzMlspDB7EScO1tID1wI0gMXVCxV3cIZQcp0EpCym8SY4GIpohNOh13GkyI6IgYSXzJXokpW95DDC0xDkR64EGIJSDmwZYeUsQ5OAlJOkBgTgFQNDUESHhEDiS+ZLdGFDJaRwEWmmSiWgLRhw4YktDDFJCAFJQlPcBKQcobEmBlIwhOCxBcRA4kvmS9jCxlkIglIIUhACkoSnuAkIEXv9ddf54033vA9fuKJJ1i/fn3qGhSaxJgpJL6EIPFFxEDiS3aQQgZJIgEpBAlIQUnCE5wEpNisX7/el/Q899xzKW5NaBJjJpP4EoLEFxELpSS+ZIm4rOlRSlWHedymeHxeppGAFIIEpKAk4QlOEp7sJzEmMIkvIUh8EbEymiW+ZIl4FTLom/qEUmrPDMd1xunzUEptVEp1jIyk902dBKQQJCAFJQlPCNIDlyuSHmM8n5HWcUbiSyhK4ouIndOemPiSVduQZIZ4TW+b6W+uMczjopLOm8Z5SUAKQRKeoAxKScITivTAhXR73IbN6Qr7eOvoOOFULc4zGiguyIuhZRFJeoyB9I4zSimJL6Eoo8QXEbswLojRzDjAaI5H60QE4pX0hFsnOPvrCXtIQApFeuBCMZuMkvCEIj1wIdmcLv785f1Bj5lfUuz785/9PPix3uO/9ul7Y25bBCTGTGE0GiW+hKKdCYov2XN9ELGLdoo1TnsSWif8Jap6W86TgBSC9MCFZHc4E5LwGLLohl564GI3v6SYDXcv5fl3Ijve4Qp/9EjEn9PpTEh8Udl0fQgnB45mxoHKoY3CRVCxrCkteOy3k9DC8GRgBc+oSNKTIIkKSFlDeuBCcoVxQx/Nmh+zKXcCtvTABedNYF775EzEx//6o/ckuHUiGB3G9SGaKdZGY+5cH6KeYq1zZKNwj1y5IY5UNhXRybQKntGK25oepdQrU54rneG5nJGIgCQ9cGEcn0M9cNEWObA7ciNgZ0sPXKL4JzCXT37sq2pjPPIarspq9NxlAY+/NHI72c2VGBOhaNeUOp25cX2IaU3pgs8nvn1pJFduiCORTQlPLolX0tMR5nO74/R5GU964EKQHrigYqnqtvWL65LQwtSSgBTctARm7jKcU5KcoMcnn8SYCMRSRGfDhg1JaGGKSREdEQOJL5krLkmP1vrr8ThPrpAeuBCkBy4oKWMdnASk4CJNYNIg4ZEYEwGpGhqCJDwiBpkaX26N27CHWcVz+PZ4WMeZjQZmJa+CZ1zImp4kkx64ECQgBSUJT3CZGpCSJRMTHhE+SXhCkPgyzY3RCWx2B+AucmM2GbE7nAHXlF7zuw4EOz7PbGJOUX7iGp4CmRxf7GFU8fTOJQp1nNd/+FzmzRqRpCeJJCCFIAEpKEl4gsvkgJQMkvBkN4kvIUh8mZHN7uC//E1XyHgxz/P7f/mbLiB0fPnT320CsifpkfiSHQyhDxHxIAEpBAlIQUnCE5wEpOAk4cluEl9CkPgSlMSXEJSS+JIlJOlJAglIIUhACkoCUnCS8ASnFJLwZDGJLyFIfAnKoJTEl1CM5qyPL+rKgO/PxiOvTXqcTdJqeptSqhnYDliAvVrrttS2KHYSkEKQgBSUJDwhSA9cSCaDQRIeP9kUZyS+hKIkvoRgNhkjihc5FV+8nPbExJc02oZEh6jgmS3SZqRHKVUDbNZa12uta4FGT3DKWBKQQpCEJyjpgQtDDvTAxcrhciUk4UmjeB22bIozSimJL6Eoo8SXEOwOZ8h4UTxxyffnn/xjB8ODx0Oe15CJF4hAwth3MZoZBxjN8WidiEDajPRorfuBFr+nhlLVlniQgBSK9MCFEkkPXE4mPJATPXCxCiNeR7Xmx2RImz6zsGVTnDEajRJfQtHOBMWX7Lk+BKrS5q900SqefuRLEcUjsyl39hWMdoo1TnsSWif8pWXU8vS81Wit96a6LdGSgBSC9MCFFE4PHESe8EgPXOjjc6kHLtoiBw5XeHs+pKtMjzNOpzMh8UVl0/WBMDL+aGYcqNy5oY92irXdkRv7CsaypjSsHikRV2mX9CilunDvqr0zyDFblVIHlVIHr169mrzGRSBRASlrSA9cSOH0wEUTkKQHLvTxudIDF0tVt0yO19kQZ3Q4PfRRTLE2GnPn+hD1FGudGzf0sawpDSd+ZTopopN50i7p0Vo3aa1LgSal1NYAx3RorRu01g2VlZVJbmF4EhGQpAcujOOlBy7k8dIDF/r4jL6jD1Mul7HOljgTTLRrSp3O3Lg+xLSmNJz4leGkiE5wkvBkppQlPUqpTqVUj+fXTEGni8lzr6e+f6NSqmNkJDP/c0kPXAjSAxeU9MAFJwEpuFxJeHI1zsRSRCecDruMJ0V0gpKEJziJL5krZUmP1rrFU0GnXmvdoZRqnlJFpwXoDfL+fVrrrSUlJYlvbJxJD1wI0gMXlASk4CQgBZcrCQ/kZpyRqqEhSMITlMSX4CS+ZLa0md7mWUy61tMj1wf0Z/L+CYFID1wIEpCCkoAUnASk4HIp4ZlJtscZSXhCkPgSlMSX4CS+ZL60KVkNEEnwUUptBDYuX748gS2KLwlIIUhACkoCUnASkILL9YTHK1vjjMSXECS+BCXxJTiJL9khbUZ6IpVp0w4kIIUgASkoCUjBSUAKThKe6GRKnJH4EoLEl6AkvoSglMSXLJGxSU8mkYAUggSkoCQgBScJT3BKIQlPFpP4EoLEl6AMSkl8CcVolviSJTI26cmUqjoSkEKQgBSUJDwhSA9cSCaDQRKeKKV7nJH4EoqS+BKC2WSU+BKK056Y+JJV25BkhoxNejJh2oEEpBAk4QlKeuDCID1wITlcroQkPLkQr9M5ziilJL6EoowSX0KwO5wJiS+GbLpAhFFEKpoZBxjN8WidiEDGJj3pTgJSKNIDF4r0wIVBeuBCCqfoYzRrfkwGCR+pZDQaJb6Eop0Jii/Zc30IZ9+2aGYcmE25s69gtFOscdqT0DrhT6JWgkhACkF64EKSHrgwSA9czKItcuBwuZLQOhGI0+lMSHxR2XR9CGfftmhmHKjcuaGPdoq13ZEb+wrGsqY0rB4pEVcZm/Sk+1zrRAWkrCE9cCFJD1zspAcuuFiquuVCvE7nOBPOvm3RTLE2GnPn+hD1FGudGzf0sawpDSd+ZTopopN5MjbpSee51pCYgCQ9cGEcLz1wIY+XHrjQx+fCHb2UsQ4t3eNMMNGuKXU6c+P6ENOa0nDiV4aTIjrBScKTmTI26cl00gMXgvTABSU9cMFJQApOEp7sFksRnXA67DKeFNEJShKe4CS+ZC5JelJAeuBCkB64oCQgBScBKThJeLKbVA0NQRKeoCS+BCfxJbNlbNKTznOtg5EeuBAkIAUlASk4CUjBScITmUyLM5LwhCDxJSiJL8FJfMl8GZv0ZOJcawlIIUhACkoCUnASkIKThCdymRRnJL6EIPElKIkvwUl8yQ6mVDcgV0hACkECUlASkIKTgBScJDzZTeJLCBJfgpL4EoJSEl9i9Prrr/PGG2/4Hj/xxBOsX78+6e2QpCcJJCCFIAEpKAlIwUnCE5xSSMKTxSS+hCDxJSiDUhJfQjGaJb7EaP369b6k57nnnktZOzJ2elumkIAUggSkoCThCUF64EIyGQyS8GQpiS+hKIkvIZhNRokvoTjtiYkvWbUNSWbI2JEepdRGYOPy5ctT3ZSAJCCFIAlPUNIDFwbpgQvJ4XIlJOHJhXidznFGKSXxJRRllPgSgt3hTEh8MWTTBSKMIlLRzDjAaI5H69LCrXEbdqcr4Ov+/xyGb4+HPJ9SkGc0UpQf3+8oY5MerfU+YF9DQ8OWVLdlJhKQQpEeuFCkBy4M0gMXUjhFH6NZ82MyZP9EgXSOM0ajUeJLKNqZoPiSPdeHcPZti2bGgdmUO/sKRjvFGqc9Ca1LDrvTxZ+/vH/G17zxxSvQcVOPX1A6iyLim/Rkf9RKEQlIIUgPXEjSAxcG6YGLWbRFDhyuwL16IvGcTmdC4ovKputDOPu2RTPjQOXODX20U6ztjtzYVzCWNaVh9UhlOP/4Eunxifh6JOlJkEQFpKwhPXAhSQ9c7KQHLrhYqrrlQLxOa+Hs2xbNFGujMXeuD1FPsda5cUMfy5rScOJXppMiOsGlY9VQSXoSJBEBSXrgwjheeuBCHi89cKGPz4U7+nQMSCJ+ol1T6nTmxvUhpjWl4cSvDCdFdIKThCe4qfFCXRnwvWY88tqkxzMdnyiS9KSI9MCFID1wQUkPXHASkIKThCe7xVJEJ5wOu4wnRXSCkoQnOIkvwc0UL/TcZTjv2eD7pecuC3p8okjSkwLSAxeC9MAFJQEpOAlIwUnCk92kamgIkvAEJfElOIkvwaV7fMnYpEcptVEp1TEykln/yaQHLgQJSEFJQApOAlJw6R6Q0k2mxRlJeEKQ+BKUxJfgJL4ElwnxJWOTHq31Pq311pKSklQ3JWwSkEKQgBSUBKTgJCAFlwkBKd1kUpyR+BKCxJegJL4EJ/ElOKXIiPiSsUlPppGAFIIEpKAkIAUnASk4SXiym8SXECS+BCXxJQSlJL6EYDIYMiK+SNKTBBKQQpCAFJQEpOAk4QkuU3rgRHQkvoQg8SUog1ISX0IxmiW+hOBwuTIivkjSk2ASkEKQgBSUJDwhSA9cSJnSAyciJ/ElFCXxJQSzySjxJRSnPTHxJYu2IQlnyXmk8SURX48kPQkkASkESXiCkh64MEgPXEiJ6oHLonidkZRSEl9CUUaJLyHYHc6ExBdDNl0gwrijj2bGAUZzPFqXEaKZYm0yxD9FkaQnQSQghSI9cKFID1wYpAcupET0wCUqIInwGY1GiS+haGeC4kv2XB/C2bctmhkHZlPu7CsY7RRrnPYktC71ol1T6nC54t4WiVoJIgEpBOmBC0l64MIgPXAxS6eAJMLndDoTEl9UNl0fwtm3LZoZByp3buijnWJtd+TGvoKxrCkNq0cqw8VSRCcRX48kPQmSqICUNaQHLiTpgYud9MAFl24BSYQvnH3boplibTTmzvUh6inWOjdu6GNZUxpO/Mp0UkQnuHSsGqoydcNLpdRGYCOwGTiZ4ub4qwByZzgiOvIdhSbfUWjyHYWWbt/RUq11ZaobES6JMxlNvqPQ5DsKTb6j4NLx+wkYZzI26UlXSqmDWuuGVLcjncl3FJp8R6HJdxSafEfZSf5eQ5PvKDT5jkKT7yi4TPt+ZHqbEEIIIYQQIqtJ0iOEEEIIIYTIapL0xF9HqhuQAeQ7Ck2+o9DkOwpNvqPsJH+vocl3FJp8R6HJdxRcRn0/sqZHCCGEEEIIkdVkpEcIIYQQQgiR1STpEUIIIYQQQmQ1SXqEEEIIIYQQWU2SHiGEEEIIIURWk6RHCCGEEEIIkdWSkvQopXqUUlsjOL5TKbUtkW0SQmSOSK8hnvfIdUQI4SP3IkLktoSXrFZKtQNlWuuWCN5jAQaAFq11d6LaJoRIf+FeQ5RSfUC71nqX57EFuY4IIZB7ESEEmBJ5cqVUHbAVKI3kfVprq1KqDWgHahPRNiFE+ov2GgJyHRFCuMm9iBACEj+9bTuwV2ttjfSNWusOoEwp1Rz3VgkhMkXU1xCQ64gQApB7ESEEiU96moE9Mby/G2iNU1uEEJkn1msIyHVEiFwn9yJCiMQlPUqpRs8fY5kH2wU0hjxKCJF14nQNAbmOCJGz5F5ECOGVyJGeOsAaaDhZKbXVU0lFK6X6lFI7ZzjsoOfYmgS2UwiRnkJdQzqVUsOe68c2oCzAeeQ6IkTuCnUd2ea5hgx7ih3MRK4hQmSBRCY95cDQTC94blDaPb/qgTZgpouJ1fO7XGiEyD3BriGduHte24Amz7GWAOexen6X64gQuSfYdaQd97S1VuBJoCFA4mP1/C7XECEyWCKrt1m4c6Hw8ZSA3Im7BORez9O9wN6pxxLgQiWEyAkWZr6G1OCeo+9/DWkLsv+GXEeEyF0WAl9HtgJN3nLUSqktQA/T1+/INUSILJDIpCfQVJMGz++RzK+1xNYUIUQGCnQNqfP8HukcfUv0TRFCZKhQ15EupdSkF5RSNVrr/hneY4lju4QQSZbIpGeIOxcVf5YozmUN9EJFRYWurq6O4pRCiHjr6em5prWujNPpAl1DomWd6Um5hgiRPuJ8DYHg1xGr1jqSvXus/g+UUhuBjbNnz96ycuXKKJsnhIinYNeQRCY9fcCzMzzv7Z1tZOYpbf68PTQBh5arq6s5ePBg5K0TQsSdUupMHE8X6BrS6/k9nGsIhLiOyDVEiPQR52sIBL+OWJRSjd7pbUHMeA3RWu8D9jU0NGyRa4gQ6SHYNSSRhQz6mWFUx1NBZRew21PBrU4p1ayU6pqhMkqd5z29U88jhMh6ga4h/bg7T3Z7rh11nsIG0471kOuIELkr2HVkF9DpuY7UeH7vmeEccg0RIgskcqTHuzCwbuqFQmvdppTq407Vtn6gfYY5tGs9rwkhck+wa0iTJ9HZjfsasQP3tcQ6w3nkOiJE7grnXmQn7utHL+6qslPJNUSILJCwpEdrbVVK9QObuTMdxf/1DqAjxGnCnb4ihMgyYVxDWqY8FehaIdcRIXKU3IsIIbwSOb0N3L0ngcrIBqWUqsM9pBxoszAhRPaL+hoCch0RQgByLyKEIMFJj6cHpT/I/hnBbAd2BSgbKYTIATFeQ0CuI0LkPLkXEUJAYtf0eG0BXlVKdYd70fBcmGpmmL4SNpfLxbVr17BarTidzmhPI0TECgoKWLRoEWazOdVNyRYRX0MgPtcRIUTWSMm9iBAifSQ86dFa9yqlniSy/XmGgCdj+dzBwUGUUlRXV2M2m5m6+ZgQiaC15vr16wwODrJs2bJUNycrRHkNgThcR4QQ2SFV9yJCiPSRjJGeiMs8aq1jXjB4+/ZtVq1ahcGQ6GVLQtyhlKK8vJyrV6+muikRc14dwHn1NLZjrwOQd9d6AIyV1RgrU5vARVMqNh7XESFE9kjFvYgQIn0kJelJFUl4RCpk6qiisXIZxsplOK8NAJB394YUtygwpVQj0Oo/7cQzFaUVd09uu9Z6V4qaJ4TIAUqpjcDG5cuXp7opQogwSFYghMgoSql23MlNjd9zNUC91rpea10LtCqlmlPVRiFE9tNa79Naby0pKUl1U4QQYZCkJxCXA1w20Nr9u8uR6halPe2wo+0TaO1y/+6wp7pJAPT3x6/ojtVqjdu5RHS01q24NyP1Z8FdltarHWhKVpuEEEIIkd4k6ZmJywbX3oTjO+HDP3b/fu1N9/MR2LVrF/X19dTX11NbW0tpaanvcUuLe1ZObW0t9fX1NDU10dTUREtLy6Qb69raWmprayedt7W1lY6OUHupJZe2jzPR+1Nu/uDrjPzPL3DzB19novenaPt4ROfxfh9T9fb2opRi7173FOtwvluAvXv30t3dHdPP1tLS4jvHli1bJPFJQ1rr3hkqMlkDHa+U2qqUOqiUOpiJ66+EEEIIEZmsXtMTFZcN+v4KRk/fec52HS7+C4x8CLV/AIa8sE61bds2tm3bBkBHRwddXV10dnZOO66zs5OaGvdMnb1799LS0kJXV5fv9ZqaGvbu3Utzc3rO1tH2cW49vx3nhaO+51zWi4y/8X3sJ3/FrGd3oMwFYZ/ParXS39/v+04A2tvbJz0O57u1Wq3s2LGDnp6eaH+0aXbu3Dnt70ekF6WUBff0t4AjPf67sDc0NOjktEwIIYQQqSIjPf5cDrj29uSEx9/oaffrCZzq1tzcPG1koq2tjba2toR9Ziy0w87EoZ9NSnj8OS8cZeLwzyKa6tbc3Owb0fHq7u6msbExorZ1dHTQ2toa0XtC8SZe8ZwyJ+JuN9AimwkKIYQQwit3RnrOvwhj54MfU/1v4fqvgh9z/VdQtg76/3bm1wuroGpTdG3EPdIz9ea+oaGBmpqaqG78YzH6y7/GeaUv6DHFX/pP2D54KegxtsMvkXdPE7f2/t8zvm6cW0vRZ77ue7x582ZaWlp8IznR/txdXV20t7dPeq6+vp7W1lba29vp6emhvr6exsZGuru7KSsr843gtLW1sXfvXurq6qYlOE1NTezdu9fXPpE+lFKdwI5oSlwLIYQQInvlTtITDmMR2IaDH2Mbdh8XRy0tLZSVlQFgsVhmnALnHe2J51SteFD5s3GNXA56jOvGFVTBrLDPabFYqKmpobe3l7q6Otrb29m+ffu0BCaUgwcPTpoSB+61QT09Pb7vsbe3l87OTnbu3El9fT39/f1YrVa6u7vp63MnfFPXGHnbJNJLqhKeM9dGOHvtBm8fPwfAY6sWA7CkYg5LK6SqkxBCCJEOcifpCWf0xWWDvFL3Gp5A8kpBO2D5v49b03bv3k1dXV3QY7wjHb29ybuf8x99CUTbJzCUzMNlvRjwGMOcueB0MPur3wn7s1tbW9mzZw91dXW+5Cde/BMWb4IF7qlr/f39dHV1sXnzZt8xUxOnsrIyKWaQQp6S1Q1AnVKqC3fVNgvQ7HnOe2i3p9JbQi2tKGFpRQlnro0A8Om7Fif6I4UQQggRodxJesJigPJPuYsWBFL+KVK1FGr79u20tbVNuwlPKWUg7/6nGX/j+wEPyXvgaVCRfWfNzc20tbWxdu3auBZwsFgscTuXSI0giUxm7gorhBBCiISTQgb+DCaoeAyKqmd+vaja/bohNblic3Mz/f39abWIXpnM5D/4BYwLV8/4unHhavIf+ALKZI743HV1dbS1tcW9GEEoTU1N7Nmzx/d46uja1MpyQgghhBAivUnSM5Uhz12WesEXIa8cMLh/X/DFiMpVJ0pbW1vM+87EmzIXMOvZHRSs/z0MlgVgMGKwLKBg/e9FXK7a3/bt26mrq4s6wWhoaIhqOmBjYyONjY3U1tbS2tpKTU2Nb80VuJOemfYSEkIIIaKh7RM4rp7GceEojqun0faJVDdJiKyjtM7sLSoaGhr0wYMHpz1/9OhRVq+eefQhLC4H4AJlcq/hwZCyEZ5MoR120C4wmcFhB2WIaoQnXjo6Oujr62Pnzp1xPW99fT2vvvpq0KlyMf/7S4FT56/Td/46J177MQArN3wFgNqqcpZXlYd1DqVUj9a6IWGNTIBA15BI/cPbHwPwW4+tiflcQuSqXLyG2E/3YvuoC8fZQwCoWeUYy5aQd28T5ur4rWcVIhcEu4bIXXwg/gmOSu3oTqaYlOCY81PXEI+tW7fGfUSmt7eXhoaGrFwbtNyT3Mz6wAbAp9atTHGLhBAiuzkunWTi8EvgcqDyCgEwzK5A20eZOPwSqmA2pvkrUtxKIbKDTG8TWa2zszOua4La29uzuly1tk+waFktS6qXyhQLIYQIQim1USnVMTIyEtX7tX0C29HXAm947nJgO/qaXIeFiBMZ6RFZraamJq5JSjYnPI5LJ7EdfQ3DR68BMH6zD0NpFXmrN0hPoxBCTKG13gfsa2ho2BLN+53Wi7iGPZumu5zoidFpsyRcw+dxWi9iqqyOsbVCCBnpEULguHSS8fd+dCcAe7iGzzP+3o9wXDqZopYJIUSWso/d+bPWaMcE2jYKU9da28eT2y4hspSM9AiR42aaYqFw3TnAM8XCWL4ElQZrtYTwt2/fPvbt28ePfvQjVq6UdWjp6PTp01y7di3VzUg/5sI7fzaaUHmF6IlR9MRtVMEsv+Oiq4AqhJhMkh4hctykKRZaY3LZMGmbO/DmFwMyxUKkr40bN7Jx40Z6e3uJRxU+EX8NDRlVjC1pjJYFGEqr7lx/zQVgn8B14wrG/CJQBgylVRgtC1LbUCGyhExvEyLXeadYaI1r5DJmbcOpTL5KQneOkykWQggRL8qcT97qDb5qsQpQ+UXgtOO6PQwGE3mrN8gIuxBxIkmPELnOXAguJ66hQfTYCHaVh91QAGrK5UGmWAghRFyZ5q+g4OGvYiitAkAZzaj8Waj8WeQ3bJIiMkLEkUxvEyLHqYJiNAptG8NQMh+H7fK0Y2SKRXATDgflswqxO12cvTbCvJJi8s1yeU0G75qeaMsGC5FqpvkrMJYvwWaZj3Y4MC1cje34GzgvHsO86J5UN0+IrCFRWYgc5hw6x/g7/4R5yX3YnQ6UOQ+YkvTIFIug+i4P89bxcxzouwjAx4NXWVg6i0+vWkztvNIUty77edf0yLoRkamcVwdwXj2Nyp+NygfXyCVw2LGfeg9zzVqM5UtS3UQhsoIkPQHYHA60C8xmI3a7E2WAPJN8XSJ7OAY/ZuLgj1GFs8lb/RlMSx5wV3E7c8J3jOzTE1zf5WH27j+G0zW5xOyF4Vvs3X+M5nV3SeIjhAjKWLkMY+WySc+ZV36K0X/9f5j44OcUbtiKmjrdWAgRMbmLn8H4hJ0X3vyYF984wqWhm8wvm82mJ+7hmcfXUJBvDvs8tbW1WCwWenp6Jj3f29tLfX09nZ2dNDc3TzrW386dO2lsbIz550kWu8OJC8gzGrA5XRgAs8mY6mbR399PTU1N3M5ntVqn/V1lEq019hNvYTvyKsayxRQ88uuo/GIMs8sxli/B5ZyFQTsoeOBxjJYFMsITwITdwVvHz01LeLycLs1bx8+xuGw2eTLVTQgRAWXKI//epxg/sBfH6UOYl9WnuklCZDyJxFOMT9j5//yvf+HjgTtTfM5fu8FfvPAur/X285d/+MWIEh+r1Trtpru9vX3aTfjQ0BBdXV1xvTlPpgm7g1982M8rHw5w9cYolXOKeOq+ZfzafTURrW0IN1HctWsXe/bsAdzf8dDQkO+7q6mpobOzE4C9e/cyNDTE1q1bI/6ZSktLGR4envb8li1b2L17d0YmPtrlxHZoH/YzhzAtupf8+i+hjHf+PU9oI6dts5lwgs02myptQMoXzOzyyG0uDN/yPR63O6Ydc2H4FpdGbrOkoiSZTRNCZAHjojUY+/cz0ftTXBOjuK6fQbscmCqWgSkPo2X+tBEiIURgkvT4sTkcvPDmx5MSHn8fD1zmhTc/5tkN94U9gtHc3MzevXvZtm2b77nu7u6MGsEJZcLu4L+++DYnLg75nrs8cpsfvvUx7526wH/d9FhEiU84ieK2bdt832lHRwddXV2+RMf/PDt27JiWQMVq586dtLS00NXVFdfzJpq2jTH+/h6cVwfIu+sJzKs3oJTyvX70zBW6Dpzk8IE+AErPGlg6z0LT2hWsXjo3Vc1OW+O2yUmO0+XC5nThdLkwGu5MRZkpGRLxI4UMRLZSSpF3/9PYjr2O/cRbuC6fBMBVPoChtArD7IoUt1CIzJIzSc+fP/82J84F3xF6R+tTvPjGkaDHvPjGEZ5++C62d7wy4+srF1fwH559zPd48+bNtLS0+G7Qsy3hsTuc/OLD/kkJj78TF4d45cN+Pnd/bdITxY6ODlpbWyN6Tzi8yVe8p80lkuvWEOPv/CP69jD59V/BvPSBSa8fPXOFH7zcg8PpmvT8mctWfvByD7/zuXpJfKYoyJt8+Swwm7A5bAzfHqdidtGk50XiSCEDkc30+E3sJ95C37wOpjyUwR1HXcPnGX/vRxQ8/FVZcylEmCQa+5ldlM+loZtBj7k0dIvZReGvcbBYLNTU1NDb20tdXR3t7e1s376d9vb2ace2tLRQVlbme9/UkYtk+z+vf8Dpq8F7T7/xhYd45cOBoMf84sMB1t+9lP/+41/N+Hp1ZQn/bv39vsfxShS7uromfc/9/f20tLT4Hr/66qtYLJZJ09haWlpobW31fV5bWxvd3d2UlZVNGtlpamqalpilK+f1s4y/+8+gXRQ89jWMldWTXh+32ek6cNKX8GgN/qtUHE4XXQdOUrOwlHxz+FM7s928kmIWls7yTXEzGgzkmYyMjE5gKSrAZDSwsHQW80uKU9xSIUQm0vYJbEdfw1BowXlrGD0xCoWz7xzgcmA7+hrG8iWy9lKIMORM0uM/+hLIhM3B/LLZnL92I+Ax88tmYXe6+N4ffznsz25tbWXPnj3U1dX5kp+ZdHZ2ZszIgdes/Dyu3hgNesy1m6MUR7AOKpJEMZiDBw9OmyLX2toa9voeq9XK9u3b2blzJ62trezatcuX5Hjble4c5z5ioufHqMISCh79zRmnQ5y/eoMzl62+xzYXXBk3UjBuo7ggD3CP+AxeuUFtVXmymp728s0mPr1q8aTqbYV5JmwOJ0O3x1lgKebTqxZLEQMhRFSc1ou4hs+D0YRhdgXOa2fAYZt0jGv4PE7rRYyWBTitF8E+BuZCKUIjxAwkGvtRBtj0xD38xQvvBjxm0xP3YDSogK/PpLm5mba2NtauXeur1pYJ/EdfAplwOKmcU8TlkdsBj6mYXYTDqfnTlsfD/uxwE8VINDU10dLSQl9fH5s3bw55TovF4itW0NraSltbmy/pKSsrw2q1xtwmL+8+DbZjrwOQd9d6AIyV1VEtVNVaYz/+FrZPXsVYvpSChzej8mcecRidsE96fNvhXo9SmDc5UR2bcpyA2nmlNK+7i7eOn+P80E0MSjGnMJ+Sonw2PrhCylULIaJnH/P9URVZwDCIHr+Fa2gQNasclVcIpnxcw+eZeG8PjrOH3MfOKsdYtoS8e5swV8ceO4XIFlL43U+eycQzj69hzbJ5M76+Ztk8nnl8TVRlmOvq6mhra0vIGpNUMgBP3Rf8pvzX7ltGhHmib13P3r1745YoNjY20tPTQ3l5OU8++ST9/f1xOW88GCuXkXf3BowVSzFWLCXv7g3ux9EkPC4nEz0/wfbJq5gW30fBY18LmPAAFPmNwmmtGXUqCk0aw5S/tMIIRutySbXBSsuCCTYv1WxaAl+vn8uSIhenBvpS3TQhRCYzF975s1KowjmovCK0fRzX9bO4rp/DWL6EiUM/Q9tHUXmFqLxCDLMr0PZRJg6/hOPSydS1X4g0I0nPFAX5Zv7yD7/Iv3/mEaoq5mA0GKiqmMO/f+aRiMtV+9u+fTt1dXUZN30tFLPJyK/dV8PKBWUzvr5yQRlP3VeTFomit/DAtm3bePbZZ2dMerq7u31/9h/JaW9vp6mpadq50o22jTL+9t/hOHuYvNXryW/YhDIGH9CtqpzD0nkWAG6OTuDSilmmyXvPLJ1nYdHcOYlqdkYzVi6jeMVa+i8Pce7KdVbdfR9LlyzlyLCTazeDT/0UQohAjJYFGEqrfI+VUqi8AoyVNajZlSjLAuxnP0Dfvo6euM20HcM8a360fSKp7RYiXcn0thkU5Jt5dsN9PPPEveSZjNgcTowGFfGNe1/fnZ7eurq6SYUJpq4HmWk/mEyRbzbxXzc9xisf9vOLDwe4dnOUitlF/Np9y3gqwn16/G3fvp0dO3ZEnVw0NDRMmhrX3d3t+97Lysp8xQoaGxupr6+noaGBhoYGXzGJmpoaWltbfWuDphZFqK9Pr83iXLeueyq0Wclv2IR5SejpiQAFeWaa1q7gBy/3YL01jklp8g13wqfJaKBp7QopYhCBh5dXcej0Zd46do6vrF2V6uZkNSlZLbKVMueTt3oD4+/9CFx+pe8NBgyzyjDOX4n91Hto2yh67AbaaYe8wknn8K75MU0pYCNELpKkJwCzyYj3Fm9qaVoxXb7ZxOfur+Wp+2oxmwzYHS4MioQmil5bt26dsThBS0uLb11QsOMCVcnzb8tUe/bs4dVXXw34erI5r51h/L1/BqDg01/DWFEd0ftXL53LbzQ+QMe+/bhuXse7fU+q9ulRSs0BGoG1gAUoA4aAPqBXa/3LpDYoQsX5ZhpqFvDOiUEeHbnNPKngljBSslrEk1JqK9CK+7rTrrXelcr2mOavoODhr2I7+hqu62d9zxtKqzBW1uC8dAKKLeixGzivn0WP3cQ1chnDnLn4LuT28RS1Xoj0InfzIm78E5x8c+TT2eJt69atCRmN6e3tpaGhwVfkINUc5z5k4uBPUEUlFHzqtzDMiq7C2pXhWyxbUMqXVxhAQ03dwyyaOyepIzxKqQeAPwGagV6gH3eyM4D7JuSzwNeVUsuAXcAOrXXgcosp9PDyhfQOXOKtY+dofuiuVDdHCBGCUqoGqNda13se9yml+rXWe1PZLtP8FRjLl2CzzEc7HJiq6+5UawNQBlSRBTV2AyZG0aNWXPYJDKULwWgCc0Eqmy9E2pCkR2S1zs5OWltb41peur29PS3KVWutsR97w71PQ8VSCh7+KiqvKPQbA5zrwLFBSmcXUnTxMAC1VRvj2NrQlFJbgDbg21rrZ0McWwM8A/QopZq11h8ko42RKDCbeGj5Qt44epYLwzdZWDo79JuEEKlkAXb6PW4HmoCUJj3e6p4qfzYqH1xXB3BdHcBQWY2htMpd1hpQAPlFqCILrpFLOK+dxlzzkDtBujqA03oJ55U+tMuBqWIZmPIwWuZHVTBHiEwU16Qn06ekiOwzdS1OPKRFwuN0MNH7UxznPsS05H7yH/xiyIIFwfRdGOL6jVGeWreS8atxbGiYlFJPArVa6+XhHK+17ge+o5TaDXQAQZOkVGmoWcCBvou8cfQsv/7oPalujhAiCK117wxPW2c61jMNbivAkiVLEtgqd7GUgInJDGt+VOEcjKZ8nDevokrmYT97GFVUimPwIxyn3FtyuMoHMJRWzbh3mxDZKi7V25RSDyilnsd9cfgToBZ3p8OA5/fPAh1KKadSaocnORJCREHbRhn/1Q9xnPuQvLs/Q379V2JKeAAOHB2kIM/EvTXz49TKyGitX9VafyuK91lDjQqlUr7JyCMrFjJwdYSz12ShvRCZQillwb22Z8ZeLq11h9a6QWvdUFlZmdS2+fOu+fGv8gZgmFtD0ee/gTKacF4dYOyVP8d1/dykY1zD5xl/70dS1lrkjJhHetJ5SorWGqUi3CBGiBhpPa1waNy4bl1n/Ff/gB4boWBtM6bF98Z8znGbnQ/6LlJXVQAn38Sa796nyvbJa0D0G6SGw9MBsguoBw4CbVrrG56Rn2at9e8n5IOTqK56Pvv7LvLGsXP81qfmyDUpjWj7OM6h82AbhbwijGVVKFn/kBXiMPNkN9DiGVVOa4HW/ChzPsaKZYz96/+Dvj2Mc8K9ibgy+K259ZS1NpYvQZnzU/QTCJEcMSU96TwlxWw2MzY2RlFRdGschIiW3W7HZIr/cjnn1dOMv/8jQFHw6d/BWB6fKRUfnLqI3eHkoYb7yZtfypnj7pu+vLsficv5Q9gF9ODuTW0AOj0dIq8qpf46GQ1INLPJyKMrq3jlwwEGro5QM9eS6iYJwHHpBONv/xDHwEHfc6ZlDRQ89jVM81emsGUiFhEWQzkBjAMu3JXaOjzn6MRdJGWm6W5pJ9CaH2NlNRqFtt3GULYIl/UieuI2FMya9H4pay1yRUx3ZlrrV4GI6/Zqra0keA7+3LlzOX/+PFVVVRQWFkrvqkgKl8vF5cuXKSkpiet57Wc/wNbzU1SxhYJHfzPqCm0z2X90kHmls1ji2aA0yXq01rs9fz4E7FZKfcPTMZI17l8yj/dOXeCNo2dZVlki16MUc1w6wa0ffROmbNroGDjIrcGPmPXV70jik4GinHmyFfeo8gee58NOeJRSG4GNy5eH1e+bMMHW/DguHAVA5RdjrFiK48Ix9PgttG10cuEbKWstckDcu6OVUtVa69PxPm+k5sxxLxu6cOECdrs9xa0RuaS4uJiKisgXh2r7BIbZFWiHHcfV0xgtC8CUh/3o69iOvY6xotpToa0w9MnCdGX4FqcvDbPx0dUpuxH39Mxu1lpvB9Baf9czihy/zC7FTEYDj61cxEuH+zh5aZiVC8pS3aS019raSn9/P0NDQ+zevdu331astH2c8bd/CA47zmUPM7ToUUa1kSLlpGzwHYwD7zP+9t9T/MX/iMqTqW6ZIh4zT5RSzbhHiOr8rofdWuvWAOfYB+xraGjYEvMPkChmv3hhNKMKZ7v38hk6j6Fs0Z14ItM6RQ6IKulRSlUHebkZ+G5UrYmzOXPm+JIfIdKZ49JJbEdf81XWcZz7EINlIcbKZdgHDmJa8gD5dV+cPBc7DvYfHcSgFHUrF8b1vOHSWu/23KwcnPL8q57ns8aaxXN55+R53jx2lhXzS2W0J4ju7m6amppobm6mu7ublpaWoJsFR8I5dB7n5ZNcbvzPdJ4c59B7w77XHqx6gpamp5j/q/+F03oe09zauHymSLx4zDzx7MeTVf8xjZYFk8taKwMUzgaXC9fQIIayxRjn1bo72YTIctGO9HwLKGXmi8My0iTpESITOC6dnFZyFKcDR9972E+8TeGGLZhXfjruN8lOl4ue44OsXjqXOcWp6+Xz3Kz4eEeLtdaHUtWmSGn7BA9UWTC6bL5RuqmLgo0GxeN3LeanPSc5euE6d1dJqdhAampqqKmpAaCxsZGhoaH4ndw2yqVP/SH/7e0rTDick146dH6YTy4bee6xP6R2YjR+nylSRilVAmzH3SFb6nl6COjGUzglVW1LBmXOJ29KWWulDBjKq3BeP4tr5BIFj/wmLusF2cdHZL1ok542oGHqzQqAUuqZ2JokRO7Q9glsR1+blPBolxPn9bPgcmAomY/jwjHMNQ9BnCvrHD97lRujE6xbvSiu542DRuD7qW5EuKynjzD68atYzrqLUV44+w6mskUUrXkSS/XkvXlWV1XwzonzvHXsHKsWlGM0ZFWnctx4Ex6A/v7+SY9jZSsopfPktWkJj9eEw0nnqXH+f7PyyD/2BqbqegxTFn6LjNKCe43OpJL4nkIGW4mhkzZd1vSE4i1rbTv6Gq7rZ91PGs2Ylz+KwTIf28m3yFv1adnHR2S9qJIerfUIAYaRtdYvhHq/UqoRaNVat/g9txV3TXwL7ioqu6JpmxCZxGm96Jt2AO5NR/X4TVR+MYayxai8woRV1jlwbJBZhXnctXRuXM8bBxmTCTguncR0+EXmuBy4zC4ADLMKwXYdDr+IoyAP0/wVvuMNyj3a88KB4xwZvMp9S9Luu4+706dPY7VaeeCBB6J6f2trK52dnTO+1tHRQUdHBwBXr4a3q+5lVxGHzg8HPebQ4DCXV82m4hc7QBkwVt2DuXYd5pp1GMqXyNTEzDLguWeZRGs9oJSKaTQ5I9b0eAQqa60nbmE7+gajL//ZtClu3n18Ch7+6qTrmBCZKm6FDMItYKCUasddL7/G77kaoF5rXe953KeU6vfMrxUie9nH/P48gR6/6b7JKl8Cpjy/1+JbWefW2ASfDFzhU/ctxWR071F86vx1+s5fp7bKXT/glf0nAKitKmd5VVJrCiRuo6M4mnGUzv+AAPtfrFxQxvySYt46fo57FlVgNMRlj+i088ILL9DV1eV7PDw8zObNm9m0adO0Y1tbW31T2Hbv3o3FYvE9v3PnzoAjPVu3bmXBggXs27eP1157Lax23bI5Qh8EjJcsYdZv/Bn2/v3Y+/Yz/sbfMP7G32AomY+pZh3m2nWYFt+H8v9/KtJRjVLqQdylq73KcHewpv0ePPESqKy1obIal/UCOO04r58DgxHlf02SfXxEFoln9bawpqRorVuVUnW4N/7ysgA7/R63A02AJD0iu3kr6zgdOIcHAYUqmD054YG4V9bpPX4Bh8vF2rsW+55bnvzkJqNNGqXTGj1xe1q2NtMonVKKJ1YvYc97R/ngzBXqls1PWpuTyWKx8Nd/PXmrpV/+cub9INvbp29639raSltbW8ipbRs3bmTjxo00NDSE1S4VQUptqrobU9XdFH76d3DduOpOgPr3Y/voFWyH/gXM+ZiWPoi55iHMNWtlKlAa8hRLeRD3PYq3MkUf7qpsGbNuMFaBylo7rp7GdfMqxrLFOIfOocduQH6xu5y7yQzKIPv4iKwRz6Qn6vH+APXwrQE/yD0VbivAkiXx2aBRiFRwV9ZZiOPUe+ByogpmTe5lAwylVXGtrKO1Zv+xQRbPtbCgfHbczptz/EfplAJlANsYevwWyn8NyAyjdDVzLSwqm82vTgxy75K5mI3ZN9pjtVo5fPiwb9TGarXS39/PZz7zmZDv7ejo4Pnnn+fgwTtF/Xp6emY8dt++fezbt4+RkWkzmGZkBO6uKueT89cDHnNPVQXGKcmRYU4l+Q88Tf4DT6PtEzjOfYi9733s/ftxnHqPMcA4txZT7TrMNQ9hXLDSXSlLpJwnuZmW4MS6xUamrOkJynsdM+djKFuE8+Jx9PhNnNdOu583mFBGM47Bj3FdHUAVWzAUl6KKy1AFs2Wqp8go8Ux64jIlRSllwb22pyngB7l3Te4AaGhoyIipMELMyJSHsbIG+/G3MZTMR49aJ79uMJG3ekNcpxUMXr3Bxes3eObxNXE7Z5xlRhQ1F05/7LDhGrmE0VwNRs/ldYZROqUUj9+1hH965wiHTl9iXW1qSoYn0jPPPMN3vvMdDhw4AMC6devYsiW8pQ9bt25l69atYR0b6UiPUSkaFs+j77J1xmIG+SYjj6yoYs+7n7Bxwk7dioXTbuyUOR9zzVrMNWvRWuO6dsYzDe59Jt7bw8S7/4wqKsG0bK17LVB1PSq/OGTbtH0c59B5sI1CXhHGsipUivdPScc2RSKRW2xk0pqegPyuY8pcgCqygMvp3jPOaQeHHZw2sI1iGzgw6a3KYEQVWVDFpRiKy1BFdxIiQ7El7v9OnFcHpMKciEncNyeNg91Ai2fjMCGymqPvPez9Byh84ndxXDrhq5wD7hGevNUb4r6A9MCxc5hNRh5M0d48oWitd4c+KvWm738BFMwChx3XjSsYLAswlC0KOEpXXVlCdWUJ7548zwNL55Fniu8eTOngm9/8ZqqbMM3iuRb+/pVeNjesoufcZY74jfjcU1VOw+J5/Oz9Y1wam6DnxbcpcSm+uv4+mtYuJ988PWQqpTBWVmOsrKbgoWdxjd3EMXDQPQLU9x72I91gMGJatMa3FshQumhaIuW4dILxt3+IY+DO6JZpWQMFj30N0/yViftCgkjHNkVBttgIYvp1TIHRhCqc4/vCDKVV5Nd9ifyGTeixEVy3h9C3rbhuD6NvD+G6PYxjaBA9ZVRb5RViKPJLgvySI1VUEvG+c9rpkApzIiZplfQopTpxl5acabqbEFnFcekkEx/+AtPC1ZjvegLz8kemVdaJ98JRu8NJ74kLrFk2j8J8c1zPnWtm3P/CYITZc9A3r6FtlpCjdI/ftYQfvvURB/sv8ujKtCsdHne//OUvw5reFolIp7cV5pv5jaYH+YM/+wkPrKjiK/fV4kJjQNHzyTn+/O3j/NUffZlrY+N8r+sQYw4Hf/bTd/nLF9/hy5++h02P38Pc0sAlrA2Fs8m7ewN5d29wl5+/cBR7n3st0Pjruxl/fTcGywJMtQ9hrlmHadEanNdOc+tH33Svo/DjGDjIrcGPmPXV7yQ9yXBcOpF2bYqSbLERxEzXsUmmzDZQs8oxzJp57ae2jXkSoeE7CdHoMC7rBRwXPgHt8vtghaGwxJMIlU4bLSKvaFLHwIz72SEV5kRk0mJND0jCI3KL6+ZVJvZ3YiiZR37DJvfF3ZyP6+Y1gIQtGD0ycJmxCTvrVi8OfXAKeKaifB14EneBkzLcGwlacW8m2B7LHPx4m2n/C0NxGcwqx7RoDYaS4EUKFpXNZvm8Ut47dYG6ZfMpmGEkIVN9/etfZ3j4TmlorTWHDh3i5MmTcf2cSKe3AaxeOpe/+qMvs3vffv7y+V/5nn90zRL+6o++zGpPGfd7FlXyF68c5EOlKDYY+PuuXv7+lUNsqKvh2Q33cm/N/KBrGpR3hGfRGgqf+He4Ri7fKYZw+CVsPT/BtPxR99SxKcmFj32C8bf/nuIv/kdUXnymC2mt3TegLie4HGin+3dcTrTn9/G3fpjUNiVKrFts5IIZ9/Eh8tkGKq8QY14hlE6fRaC1Cz16Az06PGmESN+24rhwDG2bvBmwMuW5E6GiUpSlCsfA++hRK8pkRms9+f+dVJgTYYpbhA13SoqnZHUDUKeU6sJdtc2Ce25tnd8/5G6tdWu82idEutC2Ucbf+ScwGCl45DeSWvJ2/9FBSmcXsmJR+lVp8/S6bga6gAPcKWZi4U6J2Xal1E6t9cxlwFJgpv0vVF4R46+1M2Efp+DR3wp6Y/z4XYv5P298yP6+Czx+V/YUZmlqauKZZyZ3pL/wQvzvMSMd6fFavXQu/2PLU5y7MsKtcRuzCvJYPLeEAr8R0LJZhfznTY/xs95T/OOvPmblvYupLi7irZ5+ug+e4q4llbRsuJfGhpmnvk1lKJlH/oMbyX9wI9o+juPsB7jGbzH28+8EfZ9j4AC242/iGDgATidaO8E5OUnxJS8zvuZEO+/8ecYefT8Fj/02jtMHgx7jGDiA03oe09zaoMelklLqAa314VS3IxME2scnXkmEUgZUsQWKLTOuv9EOm2/anL49jGvUM2J06zpKaxwDdwqZaNsY2mAAgxHMhShzAa7r56TCnAgp6d2KQRKZzFi8LEQMtMvJ+PvPo0dHKHj8dzAUWZL22dZbY5wYvEZj/fJ0rbhTprV+NsQx31FKbQHSJukB9xSRqaN0eWuamPjwZRynezAvCzwKMd8yi7sWlLO/7yINyxZQlCXTDqcmPIGei1U0Iz1eBflmViwOvh7AoBRfrF/BvYsr+fOXD/DhNStf/WIDJcrAC68f4b//3S/5yxff5cufvptNj6+h0hK6YAG4F42bax/Cce6jsI7XY1acV0979lExugtlGIzux+YCT5UtI0rdeU0Z7hyD0eR+n8HoPtb/z37nwmAKfwH6xGjoY1KrE5g2TKGU2oR7iw2Ne4/A09GcPCuqt3kE2sfHvV4t8UUClCkPY8l8mGF03H7+E5znj7gLKzjtuKwX0S4n2j4B47d8VbTsfe/jPHvYvc6ntApDybyI1w2J7BaXpCfTpqQIkSq2D17GeXWA/PovuzcgTaKDx86jtWbtXWm7diRwDeHJ+hLaigh5N3U98e5VAFYWeDZ1Xbicqspl2D78Bca5te556gE8vnoxxy9d571TF/jMPUuT0u5E+f3f/32+973vTXruxo0bbNu2jeHhYXbv3s2cOXNS1LroLZtr4Tu/sYEfvPkRL3/Qz7LKEr7775/mwpURnn/tI37wcg8//MUhPlNXw7OfuY81y+aF17mQVxTW55uq6ylYF6pPID4cl8P8L5YfXttT6JBSagdQB/Rqrbd7nt8NbMHd2boT9whzxOJVve3U+etcuHaDE2ev4nC6WL6onDyTiYWVc5K2d1qgfXzSgcorciftRhNQiBq1ogBD+RJwOtD2CbR9DEPBLByDH6PPuKuTK4MJg2U+htJFGMvciZAqLkvXTj+RBDEnPZk6JUWIZLP378c+cADzik9hXvpgUj9ba82BY4MsryqnvCRtb1RqlVKfCXadUEo9iXuTwbS5lng3dZ31gQ2AT627s7jbVfplxl7930z0/JiCT//bgMG2YnYR9yyq5ODARdbWLmB2QfKmPMab1prvfve7XL9+ne3btzNnzhy2bNlCQ0MDNTU1bNmyhT179qS6mVHJN5toffJBHqyex1919fLNf36Nf/v4vXzn9z/H+Ws32Pv6x+z71VG6Dp5i9dJKnt1wH0/WLyfPHLi32VhWhWlZw6QKaVOZlq3FaKlKxI+UMW2KQS3uLS6alFI/wr0lRql3PY9nyn1K2R1ODp+8wJsfDABw8vx1ls6zUFka3qhhtptaYW7yi+5kyLhgJXn3NJJ3/+fRoyO4hgdxDp/HNXQex+ke7H3vAe4RVv8kyFBahaEgcGESkV3iMdKTsVNShEgW55V+Jj74Oab5K8lb05j0z++/MMS1kdt8dm36VrfRWn9HKfXXSqm9uEd9rJ6XLLg7UACe11r/fgqaFxVDsYW8+z7HRO9PsZ96l7wVjwY89tOrFvHJ4DXePXmez96bnj2u4ejv76e+vp5ly5bR0tLCK6+8Qk9Pjy/RaW+P7z1mtGt6YrGudiEr5pfyF6/00P7Lw/SevswfNNXxhy2fYuvGdfz8veN0vv4h/+0Hr/L/vPAOmx6/h688fg8VJdNvYpW5gILHvsatwY9mLhxgzqfgsX+T1IIB6dimKD2ptfYOlbyglJppNHkomQ2a6uiZK/zg5R4cTtek589ctvKDl3v4nc/V+wpr5KqIK8wVWzAUWzAtcu9Fp11OXDev4ho6j2v4PM7hQWzH3rjz9qISDKWL3BuBl1ZhKF2Y1LW2InnikfRk5JQUIZLFdes64+/vwTCrgvy1z6Rkl/YDxwYpMJu4tyZ4NbFU01p/Hfi6UupB7owUA/R7dlXPOKalD7rLFh/pxjRvBYY5lTMeV1pcyH1L5nLo9CUeql1ISVHmViHybkLa0dEBMKmKW7ynlsSypicWpcWF/KevfIqXDp3iH351hP/w9938f59q4P6l82hev4ZNj9/DgWPneP61j/g/Pz/ID17u5cn6Wt/UN3+m+SuZ9dXvMP7237uLFXifX7aWgsf+TUpKQ6djm6IwoJT6itb6x56O137ce/YAoJQqIYXricdtdroOnPQlPDaHE7Pxzqigw+mi68BJahaWkm/OjrV+0YqlwpwyGDGWzHevGVpWD3gKJ1gv+kaDXMODOM4fuXPeOXPdCVCZOxkyzJkb9vog2UQ1fcUj6cnIKSlCJIO2jTP+zj+CUhQ8+psp2cl83Obgg1MXqVtZFXSaTTrJ1ARnJkop8uq+yFj3/2bi4IsUrP+9gMHzUysX8dG5K/zqxCCffyB9q2IF09TUxFNPPcX16+7+sG9961sMDw/z/e9/H4CSkpJUNi+uDEqxsW4FaxZV8r9+cYA//fGv2Fi3nN989B7MJiMP3b2Eh+5ewrkrI7zw+kfse+cY/3rgJHcvnUvLZ+7lybo7U99OTlh41/wUtXUbyNc2JlQep27l8eiEhdUp+vlM81dS/KX/iHP4vLtoQX4RRktVJozweLUAnZ7R41eBYaAX6FVKvYK7Y2Vnqhp3/uoNzly2AmCzO7lxe4I8sxGtPZsd4x7xGbxyg9okre1JZ8powrToXkzzV6GdNpQxD0x5nrU+EZ7LlIexYinGijtrKPXEbV8S5BwexHHx2JT1QQswlFVhLF3kHg0KsD5INlFNXzEnPdk4JUWIeNAuJ+P7n0fftlLw2NeCLmRPpA9OXcTmcLJ2ddoWMIiIUqo60wqjGApmk//AFxjf34n9+Jvkrd4w43ElRfk8uHQevacv88iKhZQWFya5pbH75je/SXNzM2VlZZSUlDAwMMD27dvZsWMHSil27w5rd4OMsmyuhV2/voG/e+sj9vWe4uNzV/nDz61lUZm7YMPiuSX84bOPseWL63j5veN0vvYR/+1vX+UvXniHr3z6Hh6+Zwn//n/9C+O26VN3/v7VT/jeH385ZVOclLkgrctSB6O1HsC9RcY0npGfsLfbCHCOmKq3jU7YfX/OMxspLsjj9riN81dHqKos8SU+Y37H5bJEF1tQ+cXuEUzPKKbWGj1qdU+JGxrENXweR/9B7C7P+qC8Qr8pcVUYyxbhHL4gm6imsbhUb8vGKSlCxMr20b/ivNJHft2XMKZw74D9R88xt3QWS+dZUtaGOGsGvpvqRkTKtGgNpgtHsR17E+P8VRhn2MAP4JGVizh89gpvHR/ki3WZGRwHBgbYtWsX4B752bRpE9/+9rcT8lmpWNMzk3yzia2feZAHq+fzV109fPMff8lvP34fT923zNcbXFyQR/P6e9n0+Br2Hz3H8699yCenr3Do5IUZEx5wj9Tu3ref/7HlqUl7CInYxJLs+J0jpuptU8vTF+abAM2N0Qm4NsKiihJQUCh/7ymhlHJvkFpcOnl90I2ruIYHPcnQeWyX3euD1Jx5uIYvoG9cBnOBe28s/1F92UQ15eK6T48kOEK42QcOYu97D/PyhzFX16WsHVeGb3H60jBPP3JX2pfpVEr9XhiHWXBXi8y4pAcg/4GncV47w8TBFyn8TCvKOP1mZnZBHg3L5vN+3wUeXVFFxey0rbY3o927d9PV1UVraytWq5W//uu/pr+/n2984xsJ+bxUrekJZG3NAv7st57kL17pYfdrhzl85jK/31g3aY2WwaB4+J4lPHzPEj44dZHW7/446Dnf+fgs566MhNxTSEznua58C1iGeybKNq3136S0UR5VlXNYOs/im+IG7gRndlE+l4ZucZ4bPHLPYhbNzbwS79lKGYzutTmW+eDZf829PugCzuuDjJ85hLaPwfhNtG0MlMJ1DcgrQuUV4rp+VjZRTaGkbU6aiVNShIiG8+ppJg6/hHHucvLWfDalbTlwbBCDUtSvyojSssuBGoJXUyrzHJORVF4R+XVfYvydf8D2yS/Jv/epGY97eHkVvacv8+axc2xauyrJrYxNR0cHBw7cWfj+zDPPsHbt2oQlPenIW+Tg54f6+Ptffcwf/UM3//6pBh5YOm/asS6tZzjDdP0Xh7gxOsHyReWUFGfMmpqU8kxha/X86sddvvqvlVKkQ+JTkGemae2KadXbyuYUoTUM3RyjtqqcM5esXBq6ldJ9fERg7vVB1WjbGAbvCL7TgfPaGc80N4W+PYy+7Q5t9v79OM8fwVixFEP5UgyFs1PX+ByTtKSHDJ2SIkQkXLeGGH//RxiKyyhY1xJZtZerpzFWuOcr2z55DSCm3bCdLhc9x89z19LKTLlJagdqtNavBjtIKfXNJLUnIUzzV2Cursd+8h1MC1ZhrKiedkxRvpl1tQt4+/ggl0ZuM3+GUsfpSs9wEz/Tc9nOoBRfqFvOmsUV/PnLB/jvP/4VX3hwOb/1KXeRA6/igvCmLl28fpPn/k83APNKZ7FicQUrFpWzYlEFKxZVUFUxB4MhvUdzU2Ab0OTX4TqglPos8AqQ8qQHYPXSufzO5+rpOnCSM5fuVDmsW7mQNcvm8/ZHpwHoO3+dtz50/1n28UlTZr81mEYTymQGzO5NVLULbRtH20Yx5BXiOHMIe/9+AAzFZRjKl/gKK8gGqokTj81Js35KihDh0PZxxt/9J9Cagkd/I6IKR4lYoHni3DVGbo/zlcfviet5E0VrPaCUCmcUpzvhjYnQuM2Bo+oBJpzum5OqyjkU5AW+mc279ymcV/qY6PkJhU/+wYx7QqyrXcjB/ku8efQszz6cqvpdkfvWt77FU089RUtLC+Del+frX/96iluVOtWVFnb9xmf44Vsf8bNDp/jo3FX+w+fWsrjcW+TAwiP3LObdI+cCnuPRNUt4+uFV3LWkkpOD1zk5eI2Tg9d456MzvpGionwztVXlrPRLhmqryoL+OwzH2ISdc1es3B63U1xgZvFcSyatMSmfOsNEa92vlEqr4RGzycgDKxZyd/VcJuxO8s1G8swmFlbM4TGW8r/2vkNRgXlaVTfZxye9BN1EVRlQ+UUY568gb81nybv/87hGLuG8dgbXtTM4L53Acfaw+9D8WRgrlmAsX4qhYimGknkp2eoiG8VjpCfrp6QIEYrWLiYOvIDr1jUKP/U1DLNSH1MPHB2kuCAvowJiqFEezzFptXbwk+N9/Ou7n9BzfBCAyiMvsWR+KZ995G7uXjVz1Stlzie/4SuMvfm32D78Bfl1X5x2TIHZxMPLF/L60bOcH7pJVVlmTIFobm6mpqaG559/HoBvf/vbPPnkkwn7vHQpZBBMvsnIlg0P8ODSefzvrl62/dMv+e3H7+Wp+2oozDez9YsPcejkxRmLGRTkmdiycR2VpbOoLJ3Fw/cs8b02bnMwcHGIE+eu+ZKhl98/zgtvuKt9GZRi8bwSViyqYOWiCpYvcidF5XOKwupJPnrmCh3/8v6khOyRexaz9YsPZcp1pVsp9cda6//pfUIp9Q3SrONkeVX5jNPUxm12fv7uMUpnFXDFehuXSzOr8E4Hiezjk14i3UTV6Kn8xopH3ZXibl7Def2MLxFynP/EfV5TPobyxe6RoPKlGEqroirTLeKT9OTElBQhgrF93I3j0gnyH3ga49zU5/e3x2wcGbjMo/cuxWSUHqJEOXrmCn/32gkcTgNjJndSomaXcu42/N1rJ/idgtkBbw6NFdWYVzyK/eQ7GBeunrGMaUPNAg70X+SNY2f5jUczY8QOoK6ujrq65BTwSLdCBsE0eIoc/O9/7WH3ax9w6Mxl/qDR3VP/vT/+Mm9+MEDxrAI0GoXi9q1xHr9/WcB/QwV5JlYvnTvpdZdLc/H6Db8Roet83H+Z7oOnfMeUzi6cNDVuxaJyls63YPLbGPPomSv8/v/8ybRE7N0j5zh08mJKy2hHYAvQo5T6Ku41PfWA9vwes1hLVofi3cenwuKexuYreKDxbakq+/ikl2g3UVVKoeZUYphTidlTIME1ar0zEnT9LLYj7ttsZTBiKFuEsXwJhoqlGMsirwaXqxuoxmOfnoydkiJEPNjPHMJ+8leYl63FXLMu1c0BoPfkBRwuF2vvyo69edLR1N3Una7J61bC6YXNu/szOC+dZKL3pxgb/y9U3uR9efJMRh5ZUUX3x6c5fXWE6sr03NizrCzwHHStNUop32alua60uIA/+fKj/PxwH3//trvIwR/+2loKC8xcdTr41w/7fMc+uHQe5jDX/HgZDIqqyhKqKktY/+Cd0Hzj9jinzl+flAw9/9qH2B3uf795JiPLFpaxYlE5D9+9hJ+9czTjy2hrrUeA5UqpZ3DPNnlea/1CHM8fU8nqUPz38amwFHPVepvRCTvnr92gqmKOL/GRfXzSS7w2UTUUWTAsscCS+wHP5qnXz/oSIduJt+H4W+5jLQt8I0HGiqWo/ODrvTJpA1Vtn8BpvQj2MTAXYrQsiLrkd7z26cm4KSlCxIPz+llsvfswVi4j7/7Ppbo5PvuPnmNxZQkLKzKz1KlSqgSo11r/cobXfk9r/f0UNGsS/93UAW6OTuDSGofDhcnkHl0L1QurjGbyGzYx9vpuJg6/RMG65mnHPFg9n/dPXeDNY2dZWrEmLRe4Dg0Fm90spjIoxRceXM6aRZX8/39xgMHhm/z9Wx8z4XBOOu7Qmct8cv4af9ryOMvnxba58ZziAupWVlG38k4lR4fTyZlLVk4MXuPU4HVOnLvGrz46w6LKEt77JPAaI8isMtrxTHSSaeo+PkUFZlAwcnscjaaqwr2BaQatscoJidpEVeUXY1q4GtNC9xpP7bDhvH4Ol2dKnKP/IPZT7o1TDbPKfdXhjBXVqKISX+xwXDqZMRuo2k/3YvuoC8dZdwqhZpVjLFtC3r1NUW0HIpMChYiS67aV8Xf/GVVUQsFDz4ZdqS3Rzl8d4cK1Gzzz+JpUNyVqWusRpdRnPaVlfYmPUmoHcCDIW5NmdErv6qzCPEZuj3Pm8jDV80sxeqYVhuqFNZYuJO+ux7EdfR3HwtWYFk2exmY2Gnh05SJe+bCf/itWamO8+RXpo7qyhD9teZw/+/n70xIerwmHkz3vfsIff/4hCvLiG7JNRiO1VeXupPwh93Naaw4cHQzr/bfGbXFtT6yUUpvCPVZr/WIi2xIPM+3jU5RvZlZhPpeHb4Ee4ZE1S2QfnxylTHmY5tXCPPfaUe1yujdMvXYG1/WzOM5/gj7dC4ChcI67Qty85dhP/Aqc9jtVMfyl0QaqjksnmTj8ErgcvlkQhtkVaPsoE4dfQhXMjjg5k6RHiChoh81Tqc3lqdSWPhtI7j86iMlo4IEVCyN749gFGL8IVvdFEounF6VgARRGeK440Fp/Syn1bW/io5T6NnAgXW5WpvbCmowG5hTlY3e4OHPZSvX8UgwGFVYvrHnV4zgvnmDi8D53tZ6CWZNef2DpXN47dZ43j52jZq4lLUd7RHSu3Rjlw7NXgx7Te/oyF0dusazSkvD2KKWwzA6v8uSsgulVB1PsT8I8TgNpcR0JJtA+PuUl7kIU12+MsmxBGQMXh7kyfFv28clxymDEWL4EY7m72InWLlwjV3wjQc5rZ9D2Cewn3gaDEWUuRNvHwWBET9wGFCiF8/IpHJdPYphdgVJGMBjA97sB5fkdZQCD0f1cnGOStk9gO/razAUhIOrkLK5JTyZMSREiVlprd6W2G5cp+NS/wTC7MtVN8rE7nPSeOM+9NfPdUyEiUbjQ/Wv8gvtxaVzW+sbEL/FpBfakS8IDM/fCmk1GFpQXc/aKlbOXrTx2X3VYvbDKYHRPc/vl97Ad+hfyH/71SUHEaDDw6VWL+dmhU5y4OMSqhXIjky3GAqybifa4eAi3jPbiuem1xkxrnf7VLCIUaB+fB1cs4P7lC3njcD9aa05fGuZt2cdH+FHK4C5MYJmPufYhtNY4zh7GMXAQbRtD20bRE6MAuJyTry/2gYO4rg5E8mHustp+iRAGozuOeR8rAxgM7kTK82f3a8qTTHmPM6IK5+AYOOgZjVLudk5JblzD53FaL2KqrA67mXFNejJhSooQ/rybgtqOvQ5A3l3rgeCbgto/eRXHxWPk3/c5TPMSU7UnWkdOX2F0wp6NBQxKAWuqG+EvUC9scWEeiypLuDx0yz3aE+b+CoY5lZjvfhLbx/+K8exhzEsfnPT6PYsqefeke7RnxYIyDDLaA2RGyepgCsOcsjZwxcoHZy7z0PKFLKtM7GhfuGW007mIQTZZvXQuNQtLWVg+G7vTxbrVi1k0dw75ZjNKwXd/9BZ5JoPs4yOCUkqhikrd63uK3B0WzmunweXCUDIf9wAooDWmRfdiWLbWvamqdoHLCdrl/uVyoac8Rjs9x/k/53ec5xjf+/3f6znG5fc5SjvQtlFPkzTaMeHZ7HUK+3hE30Hcp7el+5QUIfx5Fxw6r7l7NPLu3hD0eMe5D7EdfwtzdT2m2oeS0cSIHDh6DsusQlYsSv/FxeHwlLrf77mu/PXUDpVUC9QLu2bZPP7NUw/yi/dPMHxrjK89VRdW6XDzikdwXjyO7YOXMVYuw1Bk8b1mNCgeW7WYn/ac4Oj569yTJX/HscqkktUzWVA6i7rqefSevhzwmPuXzOXqjVFeOnyKvfuPUzG7kHW1C1lXu4DVCysSUpbeW0Z79779vPPxndK7j65ZwpaN69LuRlop9SRQEs29hlLqe1rr309As+Li1Pnr9J2/zuziAt/jU+evU1tVzuGTF5hrKeb8tRvYHU7mFN+Zmij7+Iippm6gqpQBjO6NU70MpVWYF61J6Zoex9XTOC8c8z32L/89iTn8TeAhQWt60nlKihDRcg6dY6LnJxgrlpL3wNNpt67CemuM4+eu8WR9LQZDerUtGp5NBPu91w+t9dc9ic+Q1vpwalt3R7BeWINSvPjmEfb88kN+o/H+kP9mlDKQX/9lxl79KyZ6fkLBY7896T13V5Xzzski3jp2lrsWlmPMgr/nXFdgNrH5kbs5MnhtxmIG+SYjv/Gpe1g+r5SvrF1Fz8BF9vddpPujAX5+uI9Z+WYaahawrnYB9y+dR4E5fmF99dK5/I8tT3Huygi3xm3MKshj8dyStBzh0Vq/6rk+tALbtNYfhHqPUmoLsA1oS3gDYxBo89K+89c5c9lKyawClFKcHLzGjdvjuFzaFwNkHx/hL9INVFNlanI2E0NpFUbLgojOm+hCBmk3JUWIaLhGRxh/90eogtkUPLQ5bSq1+Tt47Dxa66yY2uZZHzgwtdSsJ/H5JnA4xPu3AZs9D7dorXsT0lCPfLOZK9bbAJNuLj51bzUTNicvvXeMfLOJZ564J2TiY5hVRt59v8bEoX04+t7HvPxh32tKKZ64awl79x/j43NXuH/pvMT8QCKpls8r5U9bHmfPu59MGvGpq57H5kfu9pWrLinK5zP3VPOZe6oZtzv44Mxl3u+7yMH+i7x+9Cx5JiP3L5nLutqFNNTMZ05h7DcuBfnmjChLDb7rQzPwglKqFPf+gP3Addz3IhagHKgDGoCDwLOZuqWGfwXJOcX5zC7K5+boBGcvW1ky3+KbAiv7+Ah/0W6gmkyJSs4SkvSk+5QUISKhHTbG3/tncNoo+PRvh9z0KxW01hw4NkjtwjIqStKvfZHybCo4494aWuvvBHuvUmqn57jUV2IAPlNfy5jNzi97+yjIM/L0I3eFTHxM1fU4LhzF9nEXxnnLJ20Yt2J+KQsss3j7+CD3LKpMyNQmkXzL55Xyx08/xEXrLcZsDgrzTCwomRWwTHWB2cRDy6t4aHkVDqeLoxeusb/vIvv7LnCg/yIGBasXVvimwc3NgutCOLTWe4G9Sqk64ElgLVAPlAFDuJOgvcDXtdYRrNSeTim1Edi4fHlq1nZOrSCZbzZCUT6jE3bOXbayZJ577Zfs4yOmMs1fgbF8CTbLfLTDgam6LqZNPxMhEclZ3JOeTJmSIkQ4tNZM9PwYl/UiBY/8BoY56TWP3Wvg4jDXRm7T1JBehRWSTSllAZq11rWpbou/zz+8inGbg9cO9VOQZ6YxxN+TUor8ui8z1v2XTBz8MQVP/Dvf6KJSiidWL+ZH7x7lg7NXqF82Pxk/gkiCArMpqrLUJqOBexfP5d7Fc/l3T9xH/xUr+/susL/vIn/75of87ZsfsqyyxJcALa0oSbvpufHmGd1N6Aiv1nofsK+hoWFLIj8nkJkqSOabjcwrncX5azc4d2WET927NKwKkqfOX+fCtRtS9jpHeIs4qfzZqHxwXR3AdXUgaBGnVIh3cpaIktVRT0kRIt3Yj72O4/wn5K35LKYFq1LdnIAOHD1HgdnEvbUx3gA7bWAucVdQGbsIeeVgTLu9OIJpAPqVUu2ePw9prZumHqSU2gpsBViyZEnCG6WUYtPj9zBhd/Dy+8fJzzPx6fuqg77HUDib/Ae+wPiBvdhP/Iq8ux73vbas0sLisjm8c2KQ+5bMxSyjPcJDKUXtvFJq55Xy64/ew0XrLV8C9Px7R9nz3lHmzinyJEALQ64NG7c7uDjsN/pUOiuu64YSSSk1R2t9w+/xZ4CsmXkSqIJkyawCtIarI7dZtqAMo6fDZNzm4PzVEUYn7BTlm6mqnENBnnsUyO5wcvjkBd78wD34JWWvs5u3iFO6i3dyFveS1UQ5JUWIdOMY/Bjb0dcxLXkA84pHU92cgCbsDj7ou8T9yxeQH8vNyOg5GO6BGx+7H98+BXmV7v16ihbHp7EBxLHyUg3QCJRqra1KqXal1Dat9S7/92itO4AOgIaGBh1j88NtJ5s/cx82u5OfvHWEgjxTyPVXxkVrMF04iv3o6xjnr8Rome871xOrF/MPvzpC78AlHlqe/M1jRWZYYJnFl+pX8qX6lVhvj3PQUwjhFx/287NDp5hTmEfDsgWsW76Q+5bMJd90Z73iqcvDIdcZpblOpdROTyXZ7wFNAEqpf9Va/0GK2xYXgSpI3r98PvcvX8C/HjjJrbEJaqvK+fm7xzlwbBCASksx1fNLefqRu5hTnD8tcQIpey1SL97JWWZ01wiRZM7hC0wc/DHGssXkP7gxraeCfHDqIhN2B+tWx1DAYPQcXOly19H3Z7vqfn5uU0ITnzhWXhoC9mqtrZ7HnZ7Xd5EGjAYDv/XZB/iblw6y55cfuheeLw9cfUYpRf4DTzN67TQTB1+kcMNWlNF92V5SUcKyyhLePXmeB6rnTbpZFWImluICGtcso3HNMsZsdg6dvsz+vou8d+oCv/zkDPkmIw9Uz+Oh2oUssMziv77w1rSKcr2nL3Nk8Bp/2vJ4JiQ+jVrrpzx/3grU4i5o0AdkRdIDISpIGgz0n7/O/37xXeZaZlHs2bS60lLM7XEb73x8mjGbY1rC4yVlr0U2Sbukx1N5ZafnYbfWujWV7RHZT9snMMyuQDvsOK6eRhWWMP7uP6Hyiyl45Nd9N5npav/RQeZ6eu2i4rS5R3gmJTx+gx/a6X69YD4YEhf04lR5qT9hDYwTk9HI73yuno5/2c8/dR0m32zkriC9qCq/mPy6LzH+7j9hP/o6eWsafa89ftcS/u6tjzjYf5FPrcz8qn3+2tra6O93/3Vu376durq6FLcouxTmmXl05SIeXbkIu9PFJ4NXfYUQbA4ndodzxhLaABMOJ3ve/YQ//vxDAQstpIkR8I0kD2itT3sep28vVhSC7eOz9q4qXu05ybWRUexO16QNTAFmFebzxuEB5lpmMWazc+P2BAaD4vaYjaKCPJSSstcie8R0tYr3ZmCeRcg7vYuQlVKdSqmtnqkoQsSd49JJbEdfw3HqXffjs4cBhWnRGsyrnkjLSm3+rlpvM3BxiKcfDl0RLCDbdfeIjpd2gnMMXPY7SY7tKkxcg8LIauJHKtbKS1rrXqVUnVLK4hntacU92pNW8s0mfu8La/neT97jB7/oZcsX1ga9oTAtWIV56YPYTryFccEqjOXuUbeqstmsmF/K+6cuUFc9n8L0vgENW39/P2vXrmXnzp309vayZcsWenp6Ut2srGU2Grh/6TzuXzqP391wP58MXuO5F94K+p7e05e5OHIrqsILSdStlHoFdyfJDvDdtxxMaaviLNA+PuDey+fmqI25lmKuWG/jcrkwGg2cv3aDCZuD8jmFXB8ZxWwycnvchtPlwubQnLlsxWhQzCrMZ05xPrfGJpL8UwkRfzGtftVavwp8Vin1ilLq/nDeo5TaopQ6CXTN8HINk6ut7ME9HC1E3DkunWT8vR/5Nr/SgMt6CeelE9gHDqLHbwQ/QRo4eGwQpRT1d1VFfxLXuN+f7eAcZdJIj++15AU9rXWv1vo7Wutntdaf1Vo3eH7/utZ6d4hSsy3Aq0qpHtyVJNOy06Qw38zWL66jdHYh/+elg5z1q8A0k7z7fg1DYQkTB19EO2y+5z991xLG7Q72911IcIuTp6amhubmZgAOHjxIQ0NDiluUOwxK+fZ3CWXMNsP+GWlEa/0s7rV7W7XW3/V7aWeAt2Qd714+FZZiKi3FTNidjI7bGR2zYTIaKC7MoyDfxJyiAu5aMpfS2YWUzyli8dwSZhflc2vMxrkrI/QcP8//eekg+4+e4/aYLcSnCpGeYu4WjOdmYJ5e2hqlVKPnHK2eX0LElbZPYDv62uRNr2zjaDRqdgUqrxDb0dcwli9Jq7r1/lwu9948q5dWUuKZ1hAVg+e9LjtMeBYsG4umT2UzJPd7iLbykqdUbdL26PFOLfGO1Lyy/wTg3qQ0VKnXWYX5fP2LD/GXP36X7//sAH/wlYeZXzZ7xmOVuYD8+i8z9vbfYfu4i/wHngZgfkkxqxeWc6D/Ig01CyjOkj05rFYrTz75JFarlb6+vhmP6ejooKPDndNevXp1xmNE5MIdMcyEkUVvNVmlVLXW+rSnszZn+O/lU2kp5ubtcZRBsWxBGQB2h4uViypxae2b9qYUzC5yb3aKhsrSYhbPtfDeJ+c4cvqyu0LgwjLW1MxnzbJ5lM4uTMWPJkTE4lLnVGu9V2u9HHdllIO4R2c+C3zd83sp7ikpDVrrp0LsftyCezpKD9CptZ42R18ptVUpdVApdVACnYiG03rRN8KD1mjbGNo2iiqYjaHYHQxcw+dxWi+msJXBnTh3lZHb4yErgIWUVw7m0skJj5qyKD6vEvKTvit7pzfR8VRe6gA6lFJ/leyGBLO8qpyn1q2c9ivcvS1KZhXw9S8+hMlooONf9nNt5HbAY41zazDXPoS9fz/OK3cujZ++azF2p5P3Tp2P+edJFxaLhZ6eHnbu3ElLS8uMx2zdupWDBw9y8OBBKisrk9zC7LWgdBZ11fOCHlNXPY8FJbOS1KLoKKVKPDNRnLhL2TvT7fqRaN69fLyMRsOkkbyL12+yoa6GWUUzb01gMhn40mN307R2Bf/paxv4w5bHeLKulltjNn7y1hH+7x/+kj9//m26Dp7k0tBNtE5KMUwhohLXzR1inJLiXdPTqbUu1VqXAvWeUaSpn9PhOXeDBDoRFfuY+3eHDdf1s2jbGJjyMVjmT17laR+f+f1pYP+xQYoL8rg7xM1JSK4xd+KDCfLnTU94lNFdtjqBRQwCaPQb1dmKuxR1A7A52Q1JtPKSIlq/uA6H00X7T9/Hemss4LF59zRimFXORM+P0Tb3v8+K2UWsWVRJz8Albo5n3tST1tZWWlpaaGlpwWq1TnqtubmZ7u7uac977du3j61btzIyMpL4huaIArOJzY/cHbAiYL7JyOZH7k73IgYAzwMKWK61NgArgHVKqR+ltlnJ493LxxRgLy+T0cC9NfP5d59vmJQcASydZ5lUrlopxeK5JXzu4VV889cf51u/uZ6nH7kLo0Hxi/dP8J1/fpOd//QGP3vnGGcuDUsCJNJOul2xnmXyAkNvudm9qWmOyFrmAvTtYVw3r4IyoApmoUx5oAzTjktHt8dtHOm/zCNrlgYMZmGxj8DFnwFGWPJVGDkCtqE7rydpn54AcqLykte8stls2biOv/7Je7T/y37+r688zKzC6VMKlSmP/IavMPb695n48GUKGr4CwGOrFnFk8BrvnBjkqftqkt38mLS3t096vHfvXurq6qipqfFVcLNYLDO+d+PGjWzcuFHW/cTZ8nml/GnL45m+T08TYPFOk9Va93umz888XzJLBdrLZ+k8C01rV7BqibvzOFDZ60AqLcV8pq6Wz9TVMnJ7nCMDl/m4/zJvfjDAa4f6KCku4O7qedxbM4/aqvLYYpUQcRBz0qOU2hTusWFUeTuIe4Ghdx1PK5MLGwgRM9fYTexnP4K8QlReEYaS+bis0xeBG0qrMFoSW60sWr0nLuBwuWLbm8d+Ey6+5K7WNv/XIL8ciqohvwxcTph9l3tKW/JHeLxyovKSv8VzS/jdL6ylY99+Ov5lP7//5YcpnGGNjrFsMXmrPo3t+Fs4Fq7GtPAuSosLuX/pXA6fuczDyxdSUpSeCXs4mpubfaM+Q0NDdHYGLsC3b98+9u3bJyM9CbB8Xil//PRDXLTeYszmoDDPxIKSWZkwwuPVzZSqLJ5Ni4POOslGwfbygeBlr8OZqltSXMCja5by6JqljE3Y+eT0FT4euETP8UHePXKGwnwzq5fO5d6aeaxaUhnbRtpCRCke/+r+JMzjNBA06fEUMtiilPL2wnRrrduCvUeISDgGP2bi8M/AYSe/7kvYPu6eviEngMFE3uoNaVvE4MDRcyyqLGFhxZzoTmC/CZd+BtoO8592JzzgTnDsnpvHBJenDkVr/axS6hmgw7sY2SOrKy/VLCzjdz5Xz9++dJDv/+wAW7+4bsYbBPPqDTgunWSi96cYyxej8ov51MpFfHj2Cm8fH+TpB5enoPXxEyzR8ScjPYlVYDale1lqnxk6YXuB7yul9ngel+Ee/ZmpemxWC5XUBCt7HanCfDP1q6qoX1WF3eHk+LlrHOm/xJHTV+g9cR6zycjKRRWsqZnHPdXzKC6ceT2REPEWj+ptcY003n064nlOIbRtnIkPXsJx7kOMloXkr30Gw+wKDLMrsR19Ddf1s75jDaVV5K3egGn+ihS2OLDzV0c4f+0GX/n0PdGdwHELLr0ELhvM/3wqChSELVcrL921pJLf/OwD/PCVQ/zg5R7+3ecbME9ZX6EMRvIbvsL4LzuYOLSP/Ic2M6cwnwer59M7cIlHVlRRNiv7qyrJSI/wE6gTNtzO2YgopTYCG5cvT/8OhngmNZEwm4ysWTaPNcvm4XS5GLg4zMf9l/h44HLEleBOnb/OhWs3OHH2Kg6ni+WLyskzmVhYOSclP5vIPAkbX1RKVeOeS3t4aulZIZLJeaWfiZ4f4xq/Sd7q9ZhXPY4yuG8gTfNXYCxfgs0yH+1wYKquw2hZkLYjPAAHjg1iMhh4cOXCyN/suOVew+Oa8CQ86VsIRClVgnshcqP7odJAu9b6D1LbsuS4r3YBmz/j5EevfsA//OshvvZrdRgNk+fEG0vmY757A7Yj3RjPfYh5yf08uqKKD85c5q3j5/hS/coUtT55ZKRHeMW7EzaMz9sH7GtoaNiSzM/NVEaDwZd8femxuzl/7QYf9V/i4/7L/OStI/zkrSMsqixhTc087q2Zz7zSWZM23bY7nBw+eYE3P3DPTjx5/jpL51moLE3vTcRF+oh70qOUWsadHdBLcFdLaVJKNWitt8f784QIRDvt2I50Yz/1HobiMgqf+D2MZdPXwChzPq6b1wAwVVYnuZWRcTid9J64wD018yguiHBKgOO2ew2Pcxzmfy6tEx4P/8pLA0qpGuB5pdSPtNZfTXHbkmLtXYuYsDn48VtH2PPLD/n1J+9nah0H88pP4bx4DNsHP8dYuYxZhXNoqFnAe6fO88iKRcydU5Si1gshxMyUUiyqLGFRZQmfe2gVV623+aj/EkcGLvOL90/wi/dPUGkpZs2y+dxbM4/RCTs/eLkHh9M16TxnLlv5wcs9k6rMCRFIIkZ6ngf+h9b6RaXUKXBPUVFKdQCS9IikcFovMnHgBVw3r2Jetpa8ez/rrs6W4Y4MXOH2uI11qyOspua47Z7S5hx1JzwFMZa5Tg6pvAQ8dl814zYHL79/nHyziU2P3zMp8VHKQH7DJsZe/R4TPT+l4FO/xcPLF9IzcIm3j51j07pVKWx94sn0NhGIXyfsg1Ne6tdap8385TPXRjh77QZvHz8HwGOr3Nf3JRVzWFpRksqmJU2wSnDHzl7h3BUrV62jzCnKR+vJO0s4nC66DpykZmFp0GpzQiQi6an1q9LmXzUlK8vMivSitQv7iV9h/+Q1yC+i4NHfStu1OdE4cGwQy6xCVi6KYB2OY9Sd8DhuexKe+YlrYHxJ5SWPJ+trmbA7+GVvH/lmE08/smpS4mOYVU7emiYmPvg5joGDFNas5aHahbz1/7b3589x3GeeJ/76ZGbdJ+4bIAHelCiJhyzJkmUd9NFu2+0eady9OxPbMdOmdmImvvGN2A1rvf+AQ97YiN2IndmVPDPr/XZ/e8Ytte12u32RktqSbFHioYsST4AEcd+Fo+7M/OwPmQUWQIAEQABVBXxeERWFysrKfCqRlfl5Ps/zvJ/LfQwl5miKl3cTyXtBpbcp7sDf4ogW/HPgtzgTKc/jNEwvGzpqYzTGQ8xlcuQtm47aKA2x0LZVOFusBPfB1QH+91f7mUvnmJpNk8nl8Rg6Y4kkXkPH69HpGZqif3SGLlXbo7gDG/GLOiuE+B+klP9rYYEQ4js4AxiFYsOw5ybJnv0J1mQfRssBfA99HeHdOqk903MZLt0c45nDXWjaCucQrPQth6fhK2Xt8CjlpeURQvBHj+wlkzN584Nu/F6DZ48uLJ42Oh/GHLpE7pPfoNd3cqyriTM9Q7x18SbffvRAiSxXKEpKl5TyGDi/IbdB+g+EEFcpo8yT7pEp3r7cx5nuIQAu9I/RXBXmib1tdFVGP6QNI+DzEAn6aa2PIaUkmc5xYzhB3rIYSyQXrPvmBz388vRl6uIhamMhauMh6uMhamLBTXUgC0p5J89cBeD4MWfidaXy34qNYyPOgn+O01/jfwZw+2x04gxWFIp1R0qJ2fsBuY9+CW6qj9F26Lbah0rn3OUBpJQcW2lvHivt1PCYs47DczcJ6vQgZIbA7wokTJ1znv1NEFiDaMLq2VTlpUpDCMGffuEg2byT6ub3Gjx+aMeC932H/4T06/+B7Nmf4n/yX/Ho7hbe/KyX/skZWqvXKG9e5hTS265cubLmaM/Y2Bh1deVT41Zu9sC92XTjxo31NWblTAohIlLKWZxxyVPAdaCrVAYtpntkitfev4RlLwhqMzg1x2vvX+K5h/dte8cn6PYqE0IQDvqIBJ1U9faGKvKmRS5vks1bNNdG6B1OcKVvnDOX+hdsIxbyUxcPzTtEhb+ro8F1b5q6q6WG1roYs8kMOdNmV0sNLXVR/F6Veldq1t3pkVImgKNu7v1DOLmzf3fnTym2I9bYdayxG+Qu/RMA3n1fBECv24Fet3NF25DZJNnzf485dBm9bie+I3+CFoxvjMElRErJ+5f66Gqupja2AqUaKwNDvwRzBhq+vDKnJdC8Wc7Nkmy28lIlIoTg208fmhc38HkNju275QRrwRjeQ18le+6n5K/+gSOdj/J+9yC/u9jHf/v5NUqclzmF9LZXXnllzds4evQoZ8+WT8/bcrMHytOmFfAyzoTrT3D6e53DSZkti7YY2bzJ25f75h0e07YXKDRatuTty320VUfwbtNUN4CWuigdDXF6RxILlgsBXo+T3nawIc4zR7rma3qyeZPxRJKx6ZTznEgyPp3k4+5hkpnc/DY0IaiOBqmNBecdobp4mNpYkHg4sPKsiiIu9o5y8szVeZW5c1cG6GiIc/zYbiW2UGI2Qr3tDPC0lPIUKqVNcQf0up3odTuxxp0Lg/fAU6v6vDl4iez5vwczi+/+r2DsemTLRXcK3BieYiyR5JkjK+gHYWVg+JdgTkPDlyDQsvEGKjYNXdP4l19+iP/0j2f58Rsf4/PoHOq6FcUz2h/AGrxI/tM3CDTs5rHdLZy8cIMbY9PsqNseRdEKBYCU8n8p+vu6K2zQKaX8oIRmzTMynWRwag5w5Jhn0zn8i5ybwak5hqeTtG8TQYOl8Hs9HD+2e0n1NgBD1zh+bPcCEQOfx6ClLkbLEte8ZCbHeCLJ+HSK0cQc44kUY4k5rg9Nkc2bC7ZbGwu5DlHYjRI5zlEk6FtyvHGxd1SpzJUxGzF1cA4nHaVs8mUVWwuZz5L75Nfkb5xHizXgP/oXaLGKUCNbM+9f7MfnMTjUdZeaHCvrODy5KdfhWWEqXBlSKcpLpcDQdf7iq0d45efv8///7Yd4v2awr91JPXLS3L5B6uT/QebsT3jgC3/J6WuD/O7STTpq79uyEwMKxZ0oNDgGysLhAcjkbg2wPYaO19DJ5E0yORO/99bwLFM0EN+u7O+o5y++eoSTZ67SOzw1v3wtEZSQ30uo0UtH48K0QSklM6nsgsjQqPv3pd4xTPuWI+P3GNQuSperjQX59XtXlnTMQKnMlQMb4fS8CrzqDlhOAZOFN4pU3RSKNWFN3CR79ifYySm8ex7Hc+Dp+Uaja9qem2Kn1zrpdLnP3gRWl2K30WTzJh9dG+KBXU13LsZc4PAch+AqZa3Lj4pQXioVPo/BX/7xMf7Pn53mR786x4mvP0xnczUAwhfC99DXybz3Y7j6No/vPcCvPuqhe2SKXY3VJba8/Dhx4kSpTVhAudkD5WnTKjkHlFUVebFjAxD0GpiW7UZ2omjuBMXi6M92ZX9HPZ3NVTTXRMhbNg/vb6O1PrpuDoQQgljITyzkv00FzrYlU3NpxlwnaGLaee4dSfDhtSGklOxvr+O3Z66iaxo+j85cOoehC5KZHH6vga5p9I4klMpcCdmIX9KLQA+wy30UkDh5tQrFqpG2Rf6zN8ldeRstGCfwhX+FXttxz9stpNiVMx93D5PNmzx8JwEDKwsjv4LcpOvwtG+egRtHRSgvlZKAz8OJbzzMv//paf7TL87wwjc/R3tDHACj5QBG2yFyl9/i4Bf28G7Qx+8u9dHVUKWiPYsotwF9udkD5WnTKim7k74hFqK5Kjyf4iaEIOTzkLdtxmdS1LvvN66kjnMbUFBFi4T886+vDUxsiiqapglqokFqosH5qHoB07KYmE5x8eYYDVVhcq64Qt60yOYlvcMJADyGht/r4dLNMdLZPM21UaoiAXU93kQ2QsjgS+u9TcX2xp4ZJXPm77Cnh/F0PIT30FcRHl+pzdo0zlzsoz4eYkfjMgEOOwcjv4bsONQ/u1UcHqgA5aVyIBzw8cI3Hubf/+Rd/uMvzvBvv/UIDdURAHwPfA1r7DrmuZ/y+J7n+MVH17k8NMm+ZjXLqNh2yLuvsrn4PAZP7G1boN5m6BqRgJfJuQzRgI8n9rZtaxGDYnaVqeSzoes0VEeYS+eoiS1sk2HbkvqqMJmc6T7yDE3M8sZ5p8d20OehuTZKc22UFve5viq87opyCocN/SUV5dAqFKtGSol57TS5T0+C4cP/yJ9jNO8rtVmbyvh0ku7BSf7okb1LzwbZORj+NWTHoP4ZCO3YdBs3kLJWXion4uEAL3zzc/yHn57m5Z+/z7/91qPUxIIIrx/fkT8h8/u/Yvf0B9SEm3jr0k32NFXPp84oFNuEsmxq3NVQxXMP7+Pty30MTM4CUBXyUx32c7Cljrro1uk1t9VZSmVO0wShgJdQwJHZ7miI8+1nDjE5nWJgfIbB8RkGxmd499Ob5E0LcBzfpuoITa4j1FIXpakmels65L2wXXsJbfT0Qdnl0CrKC5nPokVqkWYec+wGerwJ4fFhpxJkz/0Ma+w6RtNefIe/ifBtvxD/mYv9CCE4uneJ1DY7D8O/gewo1D8NoXtL0+sdn+bm+AzvXO4D4PG9Tk1Qe22UjhIoB5W78lK5URsLceIbD/Mffnqa/+vvT/Pv/vQxYmE/RsMuPDuPke9+j8f3Ps/fX5vhs/5x7msrrz4wpSKRSFBVVcW5c+c4fPhwSe3YuXPnfK+hw4cP89JLL5XMnmKef/55EolEWdm0Elw12WeklDPlLInf1VBFW3WEhmiIvGXzYEc9AZ+HH/3uY5K5PH/+6AGVAlUBrFRlLhLwEQn4FggpWLbNeCK5wBH69PoI71907sdCCGpjQScqVBOltS5KU22UmJvqt1q2ay+hjXZ61K9UsSzm8FVyF9/EvPau87rvY7SqFoy2Q+Sv/gFyKXyHv4nR8dC2vODbtuTs5QH2ttUSCy+6sNl5N6VtGOqehlDnPe+vozZGR22M3vFpAJ7YVz5CCOWovFSONFZH+Ms/PsbLf/8e/9fP3+PffusRwgEf3vu/hDXazY6bv6U+/CRvX+5jf0vNgp4g25UXX3yRZ599ttRmAE4vnJMnT5bajAUcP36cl156qaQO4T1wDvifKPMGx4UJp7Df676eAeBQez3nrg/zyw+7qY8E6RlPYFk2HbVxvLpGfTxUkgkpxfKsVWVO1zQaqiM0VEc4vMdpMyGlZCaZZWB8et4Z6h+d5qNrQ/OfiwR982lxhee6eOiuY6ZK6SW03hGpjXZ6yi6HVlEemMNXyZz+r2AXSXHaFmbPGfKX38b3uW/j3f0YWnh7KE0t9cMedC9y3/j8/oUr2yaM/BYyw1D3FIS3RYmLihqvkPaGOP/qa0f54S/O8MrP3+ff/MkjBHxefEe/Rfp3/4lHA338/XQ9n/SN8WDH1pZ6vxs9PT0AdHbe+6TBVqRwfCrU4YFbarKdlLGabGHCaTFSStI5k6xp8eHNET7sHQXgxvgMzVVhqiOBzTZVsQLWS2VOCEEs7CcW9nNgx61rdTqbd8YHE7MMjE0zOD7DWx9en5fU9nkMmmoiCxyhppoIHsNRuq2kXkLrHZHaaKenLHNoFaVF5rPkLr65wOGRVh5r7AbYFiJSg50Y3FbpbIUCze6BCQC+/PAe/uo3H1AXD3FwZ9HFZ97hGYS6L0J4Bc1KtwbbL9R3D3S11PAXXznM//3Lc/zHX5zhxDcexlfTjmfP52m//HsaA0/zzuU+7mut29YFsy+88AIvv/xy2aRsnT17lueff56enh5++MMfltzZOHXqFPF4fN6m733vezz33HMltWmVVLSarBCC/c01/G+/PoMENASFCfzBqTlee/8Szz28j64GpeJfbvg8HkYTSYB1l6cO+Dx0tdQs2K5p2YxMzi5whM5fGeAPF3oB0ISgvirMvo46zl3uZzqZWbJGqNx6Ca13RGrdnZ5KyaFVlA4rMYQ9NeC+MJHZJDKfRQRjaNUtCI8fe2oAKzGEUbejpLZuGulByAyx23gfgOSwzoXL3Tx6sANDd/sQ2SaM/hYyA1D7JITXvz9n1jSpCQfIWzY3x6dpiIXu3Bto81BR41Wyr6Oe/+b4g/zVbz/gR786x7/+2lG8+5/GGr7KIzMf8jNxmA97Rzja2VRqU0vC+fPn6ezsLJsoTzwe58SJE7z00kv09PRw/Phxuru7S2pTIpEgkUjMp9xVVVVVlNNT6Wqy2bzJu9cGqAkHGJyaQyIJFs1wW7bk7ct9tFVHlMJbGVHI3Cg4Jb95/wqwsSIBhq7RUhejpS7GsX1ODbCUksmZNAPj0wyOzzIwPk1iNsN7n/XPfy6bM9F1Qd/oNJoQaJpgZHKO/R316JqG16Pj8xp4DR2fR8frMfB6dPe1+7dH35BU6Y2ISG3Er6QicmgVJSSfBtvCnptEpqaQZhbh8Tt9d0TRDyefKZ2Nm02gGQLNXE18BkBwrB5TH+PYoYPO+9KC0ZOQHoDaL0Bkz7qb0D0yxduX+zjT7eQLX+gfo7kqzBN728phJlFFjdfAA7uayJkW//X1j/jr337Iv/zyQ/iO/iltb7xCc36EP1wN8EB7/Xzaw3bi+9//Pj09PTz//POcOnWKs2fPljy6Uog4dXZ2zqeWlZJ4PM7x48fnXxfsKhdH8W64k7BPu7L3FcfIdJLBqTmCPg+xoI+R6SSeRZHZwak5t5mpqu0pF8pFWlsIQU0sSE0syKEuZ3Lrk55hzl3un5fQHpqYwbIledPCtiW2lNi2pHtwkqv94yvel6Frt5wgw3GOfK5D5PMYeFwnqbDM6yl2pBa+9nkNkI6zuJQgBKw9IrURTk9F5NAqSoPMZ7FnxrBGe0DaiEAUdC9C0xY6PACetamSbAXev9jvSlXGHIdn5CSk+6HmcYjsXff9dY9MLegVUaCUKRQqarw+HNvXSiZn8rO3P+XHb3zMnz/zAL4DX+SRD//A34wF+Ot3LjA87aRhlFqxbzN59dVX5/9+/vnn+d73vldSh+fUqVPzkafz58+XPLUN4Nlnn+WFF17gu9/9LuBEfirF4XE5hzMBu+JmxkKI59z148BrUsoXN8a0u5PJ3UoBr40EGJtNMZfJk0hmiBepdo3NpugtI+VNRfkS9HnQdW1eRnsunQVYoCQHcPxoF//qj46SM02yeYtc3mm4ms1b5EyLbM6cb8Kay1vuctNdzyLrrjs9l3HXu7VMyrsnbuxvr+M3719FCCc1L5XJEw56F6zTO5Kgf3RmVemDG+H0VHQOrWJjkFYes+csuctvgT+C3rwPsinw+LAnbt62vlbVgh7fXmk3mZxJfUMHyayNFy+HdjW5EZ7XId0HNZ+H6P67b2iVZPMmb1/uu83hKVDCFAoVNV4nnji0g2zO5FfvXcbnMfjW45+nY+gyu3puQCbCV1q8mJZNjZim3msSkCagBkubydGjR/nOd74DOM5FsVNWKjo7O3n++efnoz3lYNMqKUzC7mQFk7DuZO23pZRH3NfnhBDPSSlL0husuOZCCEHE7yWVyzM+myaZzdMQC2HoGnWRIA1tIeYyOfKWTUdttJxSkxVlxFK9hBbT0RCntT42n7oWXke9DCklpmXPO05503GYsq7zVHCkErMZ6uMhJ/IkJXnTXrK3XDqbX9X+1/0XUek5tIr1RdoWZu8H5C/9Djs9g17fiffgs8hs6nb1tgKagXf/UwiPb/MNLhEXe0c5+f4VPr5ynalkjnReYyaVJiLG2e8fhJrHIHpgQ/ZdSKEAkBJypkUmb9Fg2xhunm6JUihU1HgdeeZIF5lcnjc/6MHvNfjq0X/Goaob/OTTMc5c6iZChoDfT3NjI08+GGfXNmrjUw6D+Xg8XhZ2LObEiROcOHGi1GaslVVNwkope4DnixZNLl5nM2mIhWiuCs9fnzUhCPm8RANexmfT3JyY4XO7msjkTf7LHz4r19RkRRmx0l5CGyViIITAY+h4DJ2Q37vset0DE9TGb4lZZXNLjBVxRB1Ww0YJGVRsDq1ifZBSYvVfIPfZG9jJSfTqVgJHvoVefys1wv/In5G7+OaCSI9W1YJ3/1MYjetfpF+uXOwd5Ue/+D1mZhKPNUMqbRAN6AzcvMiPhkP8xR89xv7o+tfwFMjkTKSUTKezJJJZktk8miawrFtOD0Amv/RFZwNRUeN1RAjB1x7dRyZn8cb5blqrdH7x7oeMZzWS0ovPzqDlLa73DTA0MsaffRl27dhRarMVijVzL5Owbppb53JRHiHECeAEQHt7+1p3c0d8HoMn9rYtSD0WQDTgI+AxmJhLs7Muziuvf0h8US83pe6mWI619hLaTFYekYquarsbJWSwqhxaxdZBSok1fIXcp69jz4ygRRvwP/rfoDfuua1ZltG4G72mnVy8EWmaGDsOo8ebtlWEJ5PLc/L0J5ipEUCSzAksCXG/CZaJmTU5eb6Pzh07N2TmJZnJMTqb4vrYNLYt8XsNQj7PfNFhMf5NTpVQUeP1RwjBP3vyIA0xH299+Bk5S1Kt5UhZXjJ6gLBuo2kCKS1+9+FF2hoa8AVULxBFZVDUxPhu6/3pnaLFQoiTwFGciZclkVK+ArwCcPTo0Q1Tl+xqqOK5h/fx9uU+BiZvzSV31MX4l4/fx8/PX2UylWE2kwNYIEGv1N0Uy7FevYQ2io2KSG2kkMGKcmgVWwdr7Dq5T09hTfajharxH3sOvfW+O3YGFh4f9qyjELJt5KmLGBidorf/BiAxLZhKa3g1SdhrguYBodPbf4P+kUN0ta5fvtHEXJr3rg1yoW+M6rCPPY3VzGVz+D3GghtrgeaqMI2xze2bpKLGG4MQgpYaH78adRodSlsSkFnm8GJkMwQ0G6+hMzg8zNDYGDs2aBZbodgAuoEFUoRCiB9LKb+9aL1XF69XjJTyuPvZV4UQBQenZHQ1VNFWHaEhGiJv2TzYUU9jLMTwdJJUzqS1OsJIIslsxrmGSynn77tK3U2xHBvZS2g92IiIlBIyUNwz1tSA4+yM9iD8EXwPfR2j4yGEtv1kcFdLKjULdo65jGQgIbFsaI7mQfOCcH+edo50aga4d6enf3KG09cGuTo8iS407m+v4+GuZhLJzJLqbQC6Jnhib1spZgpV1HiDyGVzeHSNZCaHLSEoMmSFhykCpG2TcC5L2AuZXK7UpioUq2GpGbZnl1tPCPEqUMi5fnkJ5+YkTo1PSZ2e3vFpbo7PEHZrIHrHZ+gdnyHgCh34PQZttVGuDU+RyZv0Tc5SHw3OR+dLkJqsUKwL6x2RUkIGijVjz4yR++x1zMGLCG8Q3/1fweg8itDLIzxaCfh1i+Fpk8kk+D2S9lgeXeOWw+MS8C4fLbsbUkquDk9x+toA/ZOz+D0Gj+1u5ejOxvlCwppwYMkUihIXw6qo8Qbh9XrImRaapiFtG9uGajlDVvcxS4AsBrl8DsNQKTGKimKlaWYSQEpZLFpQqOOhqI7neeD8chsRQnwd+PquXbuWW2Vd6KiNLSk9fXN8ev5vR+TAg9fQsG2b/slZ4kEfNeEAfo9B7/g0o4kkPeMJLMumozaOV9eoj4eUrPU2pBQNVNdCwc6IK9F+bWCCa67da7Hznu9o65VDq9g8rLHrWGM3yF36JwC8+74IgF63A71u510/byenyF18E/PmRwjDi3f/U3h2PbqtanHuCTsPyeuM9F/gnUs+4rEaBBPURzQyOYElFzo4HY3VtNYEV72bvGXzaf8Y710bZGIuTSzo4/j9O3mgvR7vEs0ol0uhKGEuuIoabxAeX5Dmhgb6hobRNQ1pW1hS4LNN/GKWOeEjXtfIO59cJT03w30H779jmqpCsRWQUr4mhHhJCFHo03PqTn16pJT/APzD0aNHv7NZNhazWN0NwKPrNFWFmZhNk0hmqQ75kUhMS/Lp4Pi8wtuN8Rmaq8JUR1TN3nakXBqo3o31tnM9RjPrkkO7GLeQcD63VrF+6HU70et2Yo07Te69B55a0efs9Cz5S7/DvHEehMCz+/N49z6O8K5+QL7tkBKyozB7CTnXzfvX8/zsYx2PP86/eKqTn701h2lZLM7OMHSd40c68YVW/qNP50zO3xjmbM/QfC+Hbx7Zw77mGnTtzgNXr6sIBJQ8B1xFjTeORMriyN5dDI2NY5omQgASbCkREuJei+N7mvjwwzP8bKCfM598xpceO0ZrR1epTVcoNpRSNiNdLUupu4ET9amLBokHfTy0o5GzPcO8e2VgQUNTUApviu3Hejg9q8qhXdEGhSh9K2rFPDKXInflHcxr7yGljWfHETz7nkQLREptWvljpWD2Ksxdhvw06bzOq59E+WhQY/eOZv78+IPExDgRb45fnx/gys1hAPKWRXtjDV853ML+HU2OqMFdmE5lOdMzyIe9o+RMi876OI/saqajNlYRs/Qqarx5BH0efvrRMH/8+COcu3yNG/0DTudrTdDa2MihXZ38P69f4S//6Gk8s7387uJN/u9fv8X99ed4+vHHidY1l/orKBRLIYQQv1m0rGqJZVuG5dTdCqnJjfEwr7xxnslUhul0FmBBpF8pvCm2E+txhq8qh3aF/BD4PvDC6s1RrBcynyXffZr8ld8jzSxG2yG8+59CC1evy/YLaXZ6rZNSl/vsTWDlaXZli7Qg1QdzVyB1E5Dga+C6tYu/eXeSRDLH1x7by1OHO11npJX7dkl215p82Bskmxe01IZpjYMvvhOCrXfc3ch0kveuDfLZgKOCd6C1ls91NdOwyWpr68CGRI0Vt9NSFyUe9vN3f7jB4V3N7G1txrJtgoEA/ZNZ/svvrhEL+fn9ZwN4DR9ffeoZ+no+5dz1ES795Nc82hHnkce+iC+6PtcChWKdWEpwYKllP1yPnW1WTc/duFNq8s3xadI5i7aaKKPTSaZTWXKmhWnZ8/LWSuFNsV0oO7feLSTscR+KDULms2iRWqSZxxy7saA/jrTymD1nyV1+C5lLYTTtw3vgabRYw7raUEizKynpQcgMQcKtVY27QUZ/EwRWOZudSzgRnbmrYKVBD0DsfuzQHt74ZILfvH+FeCTAv/vTR+loXJRKEGzD529krvctPD6brp37wVe7bIRHSsmNsWlOXxvg+tg0XkPnaGcjxzqbiQXXVltVUAgqFLW+fakPgPba6GYVuq571FixNIUeCP/na7/j5OlPmUk5M8BR99yJhkP85dePMZvK8dszV/lPv/6Yfe11/MnT+/n4s495q3eCj/p/wlO7Gzjw8JPogdU1iFMoNgIp5X+/yfsraU1PMculJmfcTvY+Q6e1OkrOnCKdN7k5MUN12E8s4EcIGJtNMaKEDhRbnLJzeoCXgOM4RYRLshmdkLcy5vBVR4jg2rvO676P0apa8Oz7ImST5C++gZ2eQa/vxHvgGfTqO0caKppAs/PIDDqvq46s7vN2DpLXYfYyZEcAAcF2iOyFQCvTyTx/86sPuTYwwUO7m/lnT95HwLe0I5O1BTfnQtjAjmSQBkPg0xauY9mSS4PjnL42yMh0krDfy1MHOniwo2FevnStLKcQtIlsRNRYsQz7O+r5N889yckzV3nrI6e+r6a26rYeCIf3NPPOJzd441w3l26OcXhPG19/8gCnP/qYn12a4FzPf+H4fTtpfuAJhFcVRSsUm82dJqz8RfcFIRx5a6+hY2ga4zNpZtM52qojGJrGB30jSuhAsaVZl5qe9cqhdZ2ZU1LKnjvV9WxWJ+StiDl8lczp/wp2kW6/lFiDF8lfO433/i8h/FECR76FXt+5/Ia2M1I6Ds7sZUj2gDTBE4Pqz0F4F+iOsMOn10f48Rsfkzct/uyZBzi6t2XZ2prukSnevtzH6xf7ARhJ2QvkonOmxUe9I7zfM8R0KktNOMDXHuziYGvdgg7cCsVq8Bg6D+5u5sCOerJ5C59Hx+sx8BTl/HsMnace6uKRA+28cb6btz++wcfXhvjcwd0c3Kvx3oWL/OfzAxy6/COefHA/sX2PIQxvCb+VQrG9uNOEVTZv3qbwpglBU1WYuUyO8dkUu5uq+S9/+IxwYOHvVgkdKLYa6+H0rGcObRdwVAhxDifS0ymEOCelXOX0u2IpZD5L7uKb8w6PBDDzWOO9YGbB8GEnhgg882/QPP47bmtLYeUcp8W2ID0E3hrQlxi0mUmYuzYvSoAwINTlRHV89c40GpA3Lf7x3Uu8/fENWmqj/IsvPUR9VXjZ3XePTPFXb33CdCqLLhwffiyRZCyRpHtoii8/2Mn73UNk8iZt1VGO37eT3Y1VFSFOoChvViMHGvB5+Nqj+3j8/h389sxV3r1wE4+h89j9B4E0H12+xuU/dPPIp5/y8EOH8XUdQ+jlmEygUKwP5VLTcyeWU3gDCPu9dNbH6J+cYXQ2xWQyjZQsmPRQQgeKrcQ9n8HrmUNbLBUphHgWeFFJVq8fVmIIe2oAbBuZmUGmpsG2EIEoWrwJ4Y8gUwnsxDBa3Y5Sm7s5pPpg6hzMXHBeJ6+Bt85Jcwu2FYkSXHaekeBrhNoHIbTztpqbkclZ/uq3HzI0McMXHtjJ1x7di6EvX3OfzZu8fbkPr25SFzLRpbNuxJ9nKm0xmMhw6sJ1HtvdyoHWOlqrt7Ri3rpEjd2I8Qs4EycvSyl/sE72KYBY2M/zT93Pkw/u5FfvXebN892EA14+d98DTM2M89bNPj5+6xO++Ok59h7+PEb7AwihopGKrUc51fTciTspvD3U0cA/fthNW3WE0ZmUM/mWN0mkvET8XnRNKKEDxZZBue3bCJmaxp4ZQ6YdZwdA+EKOmEBx1CCfKZGFm0yqD0ZPOo5NMbkxGP4lxI/C7GdgZ5yUtdghiOwBT/y2TUkpef9iPz97+1M8hs6//tpRDuy4u/DDyHTSSTvQ/aD7mbWcwtPJnESgEQn6EAj2NddsdYcH1iFqLIToBI4UosNCiG4hRE9Rh3XFOlFfFea/+8oReoen+OXpy7x+5ipVkQAPHnyAvtFhfjY6RMfr7/LFxndpeuCL6M37VXRSoSgRhq5xsKWW3Q3V5C0Lj67jNTTylg04EaHW6ih5c4qsaTE+k2J8NkXI6yES8JLKmXfZg0JR/pSt0yOlPAWcKrUdlY6UEnviJvnu00grj0xOIvxhRLAKe27ckcFaPBDZDqltVs6J8CxweCSYc87DzjppgPGHHMnoQCssM1udzuZ59Z8+4aNrQ+xureXPn32AWGhlx7CgrJPOmUzOOUWlQkCt21hO15x9ZvJb/4azTlHjOI4YSoGXcYRRlNOzQXQ0VvHff/NzXL45xj+evsybZ7tprolw4MAD9AwM8P8bHOXQ+Ek+3/QO0UPPoNd3KudHodhklqv7uTk+Pf+3EI7z4/MY1EWDzKZzzGayJBN5LvSN0j0yxf1tdbTVRNVvWFGRlK3To7g3pJXH7L9A/tpp7OlhhMePsedxPHu/gD0zAoCYu/1zWlULerxpk60tAbkJJ6IjpePgWGmQeedv4QFPFWi6k8IWWP54XB+a5G9OfkhiLsPXHtlX1Hvn7kgpSeVN+idnyeRMdF0Q8Br4DJ2a8ELFHL/KpV4RUsrzSyxOLF6gFCDXFyEE+zrq2dtexwdXB/nVe1f4/fnr7Giqomn3/XwyNMjlm6M8MvpTHmqtwX/fs+g1baU2W6HY9jTEQrcJHYDTwLQmEqAmEqAq5KMmHOTcjWE+ujlKLODjYGst97XVURsJlshyhWL1qJHUFsNOz2JeP0O+5wwyl0KL1OF76OsYbYcQhhcz1ni7elsBzcC7/6n5fj1bGnPW6atjJR31NZl3nB1fI2jeW9EvO7vkx21b8sb57jv33lkGKSWXhyb5/ZV+bGnTFAsxl80TDXhvu/GAk3fdWHmNRkuOECKOU9tzW12gUoDcGIQQHN7TwqGuJt799Canzl7lxtAUu9pqMWrr+N1oDR/3jPDk0F/T1d6O5+Az6LHGUputUGxb7iR0AKBrgi/d30lXQxWf39vK1eFJLvSN8e61Af5wdYCmeJj7Wms50FpHaJl2DApFuaCcni2CNdlH/tp7mAOfgrQxGvdgdD1yWyqJ0bgb/yN/Ru7im9gTN+eXa1UtePc/hdG4uxTmbw523umpM3fFUV4zp0HzOzU65iwgQF/k8Gm3O4DTcxn+5tTKeu8UY9mSzwbGefdqP+OzaapDfh7d00rIa/B3Zy4ve8N5Ym+bUs1ZGz8EnpdSqkbHm4yhazxxaAfH9rXy1kfX+acPesjlTbo66siKGn6WqGPntUG+MPBDajv24z3wFFp4ZSpyCkW5UAnqbSvhTkIHhbYJ4ER/DrbWcbC1jrlMjs8Gxvmkb4yTF27w+qe9dNbHOdhax56majyqlYKiDFEjqQpG2hbWwKfkr72HNdWPMLx4uh7G0/nwHQcQRuNu9Jp2cvFGpGli7DiMHm/amhEeKSEz7Dg6hZ46RhSiByH2EOQnnfXMJXL9vHXgq12waDW9dwqYls0nfaOcvjbIVDJDXTTIN4/sYX9LDZr72ZXccBQrRwjxKvD9ZdLdFJuE32vwpWO7eey+dk6dvca7F26CgLbWBm6aVfxVsokHL/fycN+/J7zzQTz7v4gWiJbabIViRVSKettKWE7oYLk+cGG/l4e7mnm4q5mxmRQX+sf4tH+Ma+em8Bo6+5pruK+1jo5aVf+jKB+U01OByGySfM8Z8tfPIjOzaKFqfIe+itHx0IodF+HxYc+OA2BsRXnq/CzMXXWcHXPWSV0LdTnqa74GJ33NE1tavQ1A6I5stStJvdreO4XPfNg7wulrg8xmcjTFwzz38L4le+x0NVTRVh2hIRoib9k82FFPYyykIjxrQDk85Uc44ONPnjjIE4d28uv3r/DB1UG8Hp36xnrO5+NczEzy2KVrHOz9CO+uh/HufQLhVbUCCsVmcacGp3ejLhrkqQMdfHF/O73jM1zoH+PS4AQf3xwlGvBysLWO+1X9j6IMUCOqTcYau441doPcpX8CwLvviwDodTsc6eg7fTYxRP7aaaz+T5C2hV6/C8/hb6A37FYzKeDUKaWuw+wVyAw6y/zNbs+dnaAtOt2DbVB/3FFxy4zcWl7cp4e19d45f2OE97sHSWbztNdE+dpDu9hZF7vj/8nrMZiYSwOofghrRAjxHPAccLjoWJ+SUr5QOqsUBWpiQf7b4w/y1EOd/OO7l7h0c4xAwItRXc/rVpyPc5N84dPztF0/i2f35/HsenRrRqAVii2IEIIddTF21MX48v07uTI8xaf9Y7x3bZB3rw7QGAtxX1sdB1pqCfuXaACuUGwwyunZZPS6neh1O7HGrwPgPfDUHdeXtoU1eIl893tYE70I3YPRcRhP1+fQonVrsqHgeOm1jpOV++xN17a7O15lh5SQHYHZy069jsyDEYH4EQjvBs9detsE28hodQykd5DKWAS1Olpq6vD7A6vuvZPO5TnTM8TZnmEyeZPO+jiP7WmlvUal62wWbj8eNQNQ5jTXRvnO1x/m2sAE//juJXr7JwmG/YxE6vg7qtiTH+PzF94m1v0e3r1fwOg8itBVkbRCUSl4DJ2DrbUcbK0l6db/XOgf59SFG7zxaS8762Lc11bHnsZqPMbyk4gKxXqinJ4SIPNZtEgt0sxjjt1Ysp5G5lLkr5/D7HkfOz2DFozhve9LeHYcQXjvrY9OwfEqNdcGJugemODkmasAHD/miCh0tdSwq+UuRc3mnJO+NnsFzBlHmCDU6aavNd7ee2gZ3vusj3989xJnPusGoK66mh2NVXzlc3voHZni7KWBu/bemcvkeL97kPM3RsiZFnuaqnlsdyvNd0l/Uyi2O7taavj//LPH+KRnmF+dvszI0DTBWIAL/kZ69DoOW4Mc+fg3+K/9Ac++L2J0PIjQFg6QZD6LlRiCfBo8ga1bn6hQVCghv5djXc0c62pmfDbFhb4xLvSP8ffnrjr1P0013NdWS3ttbL7OdSl6x6e5OT7DO5f7AHh8r5ON0V4bXXNqnmJ7IaSsbLXWo0ePyrNnz5bajBVjDl8ld/FNzGvvAqDVtC9QTrOnR8h3v4d58yOkbaLX7cTT9Tn0pr2IZZpjrpr0IGQnIDPg1LP4mx2nwVcDgeb12ccKyWTSnL/UQy6Xp62hmpb6OvyBwNIr2yakbrjpawPOMn8ThPc4/XS01c0EX+wd5Ue/Oodp2fT29wPQ0dpKOptndGqWr3/+AG118WV770ynsrx3bYAPb45i2Tb7m2t5bE8r9dHV5y0XLuaLqbSLuRDinJTyaKntWA2Vdg3Zqli2zZmL/fz2zFUm59IEYwE8fg/VXovHtRvsyd1AD1fjPfgMestBhBDz11N7amB+O9tCiXILU0nXkCL1tu9cvXq11OZUFFJKbk7McKHPqf/JmhYRv1P/c19b3bL30axp8saF3vna14ZYCJ+qfVUUcadrSNk5PW7TwBdwOqu/LKX8wZ3Wr6QBizl8db5HTkEuWqtpBymR+SyefV/A7HkfoRkY7Ycwuj63MT0sUn1OHcvMBee1v+G2OpbN4OK1q5x890Ou9jrHwuvx0NHcxPFHH2T/LnfAIiVkRx1BgrluN30t7Dg64T13T19bhkwuzys/f5/ewWGws4wnkkhAaB7GZnJ4DA+P3b+T/+8//zw+z0JnanIuzbtXB/ikbwyA+9vqeHR3C9XhZZy1bUQlDVgKVNI1ZDuQy1u88/EN3vigm5lsjkA0QDDopT1g8QV5iYbsEFqsEaPzGLkPf4kZbWQ80ELG1vBrNrWpAYy5EfyP/JlyfCoQdQ3ZfuQte77/T89oAltKGmIh7mut40BrLRG3/qd7ZIq3L/dxpnsIgJbqiFI5VdzGna4hZeUeCyE6gSNSyiPu624hRI+bp1/RyHyW3MU3FzQFlVIi56awU1Ng5clf/QO+w9/E03oQ4dugZpSpvqUVy3JjzvL645vi+Fzsvs6Pfv5PmJaJJd0Iluahd3icH/38n/iLb2jsr511nJ38tJu+ttNxdPxNK05fk1KSMy0yOZNc3iKbN8nmTMank3zSM4xlS2zbw2jSwDQtDEMSC0doqokwmkjSPzpDl5tqNzqT4g9X+rk4OI4uNB7a0cAju5qJBe8t3VChUNzC69F5+kgXnzvYxpvnu3n74xuMz6SZi/jpCx/kUGw/jxk3CXzwD/RXP8g7Qzn6x/rcSQud1to4T7R30H7lHfSadpXqplCUOR5d40BLLQdaaklm8079T98Yr396gzc+u8HOuji7Gqo4deE6i9vZDU7N8dr7l3ju4X3K8VHclbJyenCiOy8VvX4Zp5t6xTs9VmLIScGwTGQuhZ1NgpnDzmcQngAiUovQdLRo/cY5PFbOifAsJdEMzvKpc+BvXHWq2GrIpNOcPP0hpmUuekeCtMnnsvzqnTNUf74aM+8h6zlM1mgkmxBkx0yyuRuO85I3yeSs+b+zOZNs3iKby7vPJlnTYqlo5q6WGvrHZhACdrXWsL+zASkgHgqQTGYYdFPN0tk8g1Nz/OFqP1eGJvEa+nxvgohSn1EoNoyQ38sfP7afxw/t4DfvX+W9i32MzmV4Z87P5WAzj9a38ruPLmGaeSwbLDSkJukZSTCcSPH8Q23sSgxtTUl+hWKLEvJ5ONbZxLHOJiZmU3zSP85QYpZ/OH+Vgak5Qj4PectaoKBq2ZK3L/fRVh0pmzYPWdNkJJEkkzPxew2VhlcmlNV/YJm+GonNtmM9kfkM1ngvpquYhpl13jBzoHvRajoWChPkMxtnTG7CiehIG6wUmEnH0bGzzAtepfqd9LHcGKCB0G493/a3cPrZCAG4z0K/w/rOc++YwaXr/WRMQSYPyayOZQPCwrZBonNxZJxodTsX+/LAsPtYiMfQ8Xl0fB4Dn9fAa+iE/B6qowFnmcfA53Xe97vr+LwGPo/OXDpLz+AE9+1p5pOBcX5/YwgB+D0G7bVRHtjXwifdQ7x9bYCpdBa/x+Dxva0c62wi4FUqUgrFZhEPB/j204f44oM7+dV7V/iwe4jmuii/7UvSb0aJyxQRUniE5V7b8uRSGd6+NkpLxINv9BoiVI0WjCNC1YhgdP3qIxUKxYZREwk6vX/Gpvmsf4Kw38tcJkcqm0eIPJZtY2gauiYYm0mxp7GagNcg6PUQ8nsI+TwEfV68urapbT0+6h3hzc96+fimkwJfHfbTWh3hqQMdPNCxvAKsYuMpK6enGCFEHKe25/gS750ATgC0t7dvrmF3QVp57Ik+rLEerNHrWIkBkBK9cS9C1yFQi/CGsGdHEXC7Eptng1Kl7LxTG5MdAysNSMB2IjpGoS7GjYjoASeFTNrOA3vR3xbYOQqRmdvfv/X3TNpiMCEZTEgGpiWDCYjV7+H6BAgh2dPeQGdrDVIIDE0wPDxO3/AYmgadDWEePrgTv9fjODdeY96Z8Xr0ZTtFr4RMLs8Th7v46dkr5C2bwpY8hsZAYo6hmSTP3r+TyVSGpw50cHhHg5qlUShKSEN1hL/46hFuDE8xMT7M2YtXAD/jIsw0PsIyg19YGNgIJDdHJxk1u2joftOpDXQRQkcEY4hQ1bwjpIWqnNeh6ntWx9xOKOU8xWaQzZsEvAYBr0FdJMCNsWlMy8Zn6Ji2JGtaWLbJ9bEEvUsIAhm65jhAXscRKjyCxX97PYT8XgJe444Kcneje2SKX3/cg2VLAl5nzFAdDpDKmfz64x7Cfm9ZpOFtVyW8ch7F/RB4XkrZs/gNKeUrwCvgFBButmELbbGxE0NYoz1YYz3Y4zeRtglCoMdb8O55HL2uExFrQGbn5lWGlvpJaVUt6PGm9TPONiHdB8luSN10VNrsLBgRMp4dDMwFSOUEQS1ISzCBX044nwt1QmB1dti2ZHw6yeD4DAPjM/PPsyk3soWkOuynuS1CW22APU0Bjj6wn0+HE/zhulOUqGsabbUxjj/+IJ99dpGOxjhdHet4PIoQQtA3PYdp24B0o1SQlxIn6CQZnUnx7750hKBKY1MoyoYdjVVMzM3h93rQMzOk8ZLUAkwJRyJeQ+IRFj7DoFfUEXvmfySu5RCpBHZyEpmcwk4mkMlJzMQgMpdesH3h8bsOUJEjFKxCC8URwfhtktn3QiU7DUo5T7FZ+L23hqpCCLyGjtfQaYwvbAvx+T2tfP1wgFQ2T9J9pHK3/k5m88xmcoxMJ0lm89hLpL4LAUHvLYco6PUQ9i90mObf83nxFE2+ZvMmb1/uw1pceORSTml4HbUxGuMh5jI58pZNR210W6TgleW3E0K8Cnx/mXS3kiKlRM6Ou5GcHqzxG0g3JU2L1mPsPIpe34le24FYFLXx7n9qXr3tNjQD7/6n7v2GJy1IDziOTvIGSBM0vyvr3AW2ySejYX79+0Gu9TkSm16Ph/bGGr5yeDf318+Br/aOu8jlLYYmZhicmGVgbIbB8WmGJmbJmU6tkK5pNFSH2ddeR3NtlJbaKE01UYJ+Jy0sk06TMq35KEsBIQT9EzOMJOb41tHDtDbWr+kQ2FKSzplLXvhS7iPgNfi4fwxh6GRzeTTDuXBZtsRn6DRXRzClZHwuTbtyehSKMkPHDlRhmFnCtonPmsEUOpbQyaNjYTCDn+tjM/z0zFUCXoP6WJDW6iidDU20tsSoiwbx6Boyl8FOTbnOkPucmsKeHkEOXkYuqoHUgrEF6XKOcxRHC1WDN7jiNJpKdhqKlUiLsacGyJz+r9tGOa9IsrrUpmxpGmIhmqvCDE7NLbtOc1WY5ngYr8cgGrj7OEpKSSZv3hojZPPMFcYIuTzJTJ5kLs9QYo5kNj8/vlmM19DnnaHGeIgPe0cxNIGuaeRMCyEgkzfRhEATgv6JWQYTc+yoi6/1cKwLi5XwLvSPbQslvLJzejbS4VnrrJqdSriRnOtYY9eRmVnAufkZzfvR67vQ6nai+e/cjNJo3I3/kT9zbnSuZDWsw41O2pAZdCSdUzec1DPN60Rswl1uHx5nUH9x8CB//cYpTMtE15ybs9djMDwxzV+/keQvvvks+4tEDObSWQbGbkVvBsdnGE0k58UBAj4PzTURPnegnZa6KM01ERqqwwuKDBcjDA99sznMZWZDTFvSN5tDaLdOz7xpLZixSRU5M3MZ57l42VJK7IUZnJDPg98Twu8xCPk8CBFkLp1DADWRAAGfZz68nckv4aAqFIqSUh3y4wtEyABaego9k0LHQmCheQOY/jC6N0SVx4Mnb5NIJhmbnOOjnhEkoGsCr8cgFvBRHw3QXBWhoy7GrqY2GnaF0dxro5QSmZ6Zd4RuOUaTmMNXkdmFgzChe1xHKH4rSlSIGgXjCN25tlay07CUEukCbJPcxTe3hXKelPIfgH84evTod0pty1bG5zF4Ym8br71/ackoiq4JntjbtqroiRCCgNdDwOuhdgWdLwpjkMJ4ozh6VBh7zGXyJDM5LClB3ho/9E/MLtjW76/08+PTF+cjVsUPn174W5tf5jF0fIvX1TV8nluvdW3l6f7dI1NLHsvtoIRXVk6PEOI54DngcNFs2Skp5Qv3uu38jfPkPjmJefMDZ1/hGvTqdrz3H8ez4/CCdWU26Tg4rqNjJyedz3iD6HWd6PU70es60cLVq7bDaNyNXtNOLt6INE2MHYfXltIgJWSG3YjOdbAzrqzzDieiE2hxRQVukcnlOfnBIKZRDTIBFIkmaF5SRPjJ76/z+IzkSv84QxOzTCdvrVMVCdBcG+WBXU201EZpro1SFQmsukBwZDrJdNairbGW0ckZZtNpQGAh8Hi8hIJ+Lo1Mc/LCDW5OzKxoliXo8xAP+mmuiiwMPxeFpgNeY97Wm+PTfOz22XGOjXNxCi2K6vi3eKhXoahEmmoiPNzZxGvvT6OLGNFoDIFEIpjJOmWLz93fxpePdPGnTxwknc0zOZNifDpJ3/gMfeMzDE8nmUxm+LQvOV9wDGAIQdTvpTYcoCEeor02RktNhNpYF9VNwQWpNtLMIVOJeUdoPlI0N4kc6XZSnYsQ/gha3U6swYvYEzexpSSbt7HQ0H0BfJqN7vGSu3DSTaXTbtUjzT/bSKRbgind5bfeW7zuwvVwJ6zkwnXmPyMX7e/W39JdT+YzWAOfORkOZhY7PQNCQ4s6kXnhDWJPDWAp5TzFOtLVUMVzD+/j7ct9DEzeciI2KzrhMXRihn7HFhU3x6e5NDiBlGBLm/7JWZBQFw1iSzn/2FkXp7kqQjZvkbMscqb7yFvMprPua5ucaS2ZgrcUuiZW5ERF/F5+f6WfRDKDEIK8ZSGEQEqJEKKsUvA2grL6Rm4/nnWX2DCHr5L98B/BNhFep4GkFqlF5lPOcm8IoWnzKWv2tKMUJnQPet1OPJ0Po9XvRIs2rIsCSFbq9GYjpExJNBehRWqsqHS20Kgz2eM8rJTj2ATbXUenDbTl/6V9o9NcG5jAzJnk817m8lFMS2KnBZm8jS1nuDaUpLE6wnQyy+7WWic1rTZCc230NodgpUgpmUlnGZ9NMzGXJpHM0D85SzqbxUTDE3AkugtHNpM38QkNKSUtVRGCPoOQz+s4Ml6DoM9LyOcotHiMteXXrzRc3hjbIPlwhUKxZvxeD3uba/jqoU4+GRjn5vgMhStIe22U+1tq2dtcM99YOODz0FIXo6UuxgO7mhdsy7JtBidm6R6epHdsmsGpOcZnU/RNz9E9Mc3bVwfQcJwhQwiiPg/10RBNVWFq4yFqokFqorXUNLYTC/nn7xFSSmR2bmHaXHIKoevkhi5h5vJkq3cy2bSHLAY+YVM9cRHfxHWMxBAiEMUaubqZh3VFaHU75++RUkosW2LpHjCi+H2G46jBxiqRKrYlXQ1VtFVHaIiGyFs2D3bU0xgLlc3gvHhcoQsNw/0tBH23smeaq8Ic3dm4IpullJi2nHeK8qbjJGXzrpNk2bccpqUeeYu5dI6caZF1l+2sj/Fh7+j8PgrRqJ7RhOMkeQxmUlmujSTY3VS9oGZpK1AeZ8oGsmRTUEDmUshsCnIpMm//Z7SaDpgdR6tpw3vgaSeSU9W8rkWrAO9/eJFTZ65wY3gCISSed/poronz7LE9PPzg/iW+gHSkppM9TlTHnAM0p4FoqMtxeDQPlm0zm8oyNTvD9FyGhPuYTqad57kM9VVhrvZPzPem2dUZRwoIeg1GxmcZnpjD7zM4tr+VQ12rFxAwLZvJZIaJ2RQTc+l5J2diLo1ZVLuzt8mJkMVCQby6RiKVQROC1urofFoJwKH2eto3SEWkEC7/63cuMJvJzausTM45Rc0Rv3fV4XKFQrF57G2vc2ZO8xZ76qqwpY0mNDwCHtzZyN72uhVtR9c02upitNUtvNZkTYuxmSQ3x2boGU0wMDnD2EyKbN6ie3qOy5PTSNNGx3GGPAL8mk5NLEh1NEhtzHGIqmNBqiM7qWk6iN9jYA5eJFPVxY2aY7w3NMfgpQkEEjSNltoHeOTAY3QMvkWgtgOj7X6AWxLbhUm3Ba9F0fLCa4Aimd4Fy8XC1/Py3QuXiwWvb23Hnh7FHrpCMpNjfDpFOjOLRCBzUwR8HuriIcJB38YpkSq2NV6PwYR7n96o8cFaWe80PCEEHl3gcdXn1oNLA+NcGZpCulGnoak5bCmJBrxkTIu5TI4ZW/JB7zA/P3+V2kiAxliYhniIpniI+mgI7xonm8uBLT+im28K6iLNHDKbxHYVe4THj0zP4tn1KJ7Wgwhj44rWL/aO8ne/v4SZmcQQSQB8uoeJGZO/+71NpKqG/R1u8X5uyk1d68HOJZjNCBJ2PQm7i2kzztSAyXRymsTs+yTmMsyksrc14fR5DGJhP/Gwn8b2OqojAbqaqzh2fwcXhyd47+YIAmcWtL02yjO7dvPptaG7RnTSOdNxZhY5N4lUZj4zQgiIBnzUhgN01EapCQepiQSoDQfQNcFsJjcfZUlm8wALHJ7NiLJ0NVTxLx6/j7cv9y2I+GyHYj6FYiuwv6OezuYq+kdnSGfzBHweWuuj8xGee8Fn6LRWR2mtjvLY3lbAiQpNzKYZnk4yMp1kKDHHwOTs/GxqzrQYzecYHc2S7x9DWjYGYr5GMBL08af3RUjXHuOnnwxiWSagOb6IDTdHpxmcTPKtQ09zKN6Mt6Hrnr/HeiN8YdKRZm72fYKnrg2zcxc5NLzYmONX6RvpY8eBQ4TWU4lUoeCWzHJBUvntS47ccjnJLJc6De9uBH0et57buSYVWn/URILz65iWzYGWWlqqo4wk5ugeneLjPic6JARUhwI0xkM0xkI0xMI0xkMVUwpQGVbeC/kiOVJpI/xBp1dmsArhj4JbWKp5Axvq8GRyeU6e/gQzNcJ8nrSLmc+Rzg7zkzfP8eyhKkYHr5GYmyORgkQuwEwujq0F3Bm5MWAMr6ETD/uJhQPsaaslHg4QC/upcpfFw378RTUsBRvSlsVr718im7ewbCf6kjctuoen6J+Y4bmH99FaH3VT0nJLOjcFJwXA0DSqw34aYyEOttbOOzc1If8dU8/WuyhxrRTC5cPTSTJ5E7/HKKtwuUKhuDM+j4eulppN2ZeuadTHQtQXTchIKUmksoy4jlDhMZvJYdk2ubyFR9Pw6RrChptWhCsjQ+RM0ymhce8HhSu1mc/z+8Ecc5Ecb/7iJIauoesaHl3DKHp4DB298Leuu8s0dE3DMBYuX7y+sWh7t7/nfK54IqpAVmoM1xzGemgn7w7M0X8lMf9ea+0eHn7oMMPhKqJobG0ZA8Vm01EbKxvn5k6UcxreSlL722ujHGypnbdXSslcNs9IYo7h6STDiSR9EzN82j8+/5mqkJ+GaIgG1xlqjIfXLTq1npT+P7DReJwaHqw0di5JWmrYRhjdlvhz02jekNOMc4NC8bYtmUll6O4b4+MrPeRNi5b6Otp21mBJAVJwo3+M630jXB/voSF2gGu9eeLRemLxOnZFo65z40RsCs5N0OdZdX1RoTeNxCnKy7q5nIahIaXTo+aToXGsD6F7dHqBeIDfY1AbCbCroYraSICacICaSIBY0L+mRl7lNBvi9RhlFyZXKBSVgRCCqpCfqpCffc23nK9kNn+bIzSZTDOVs/hgQqLpcXRp4cFClxYC6WSbCeieE+wRBl3tNdi2vPWwJKZtYdvSUYmyJaZpYVo2pmWTd59Ny74t8r8WdG2ho2XoGjsaq0hbPi4NWohkGsu2EQg0TTA4k+XvrRAPdkYIjs5smjOqUJQThYhU2M2a6R2foXd8piwiUmtJwRNCEPF7iTRWs6vxloBX8TVu2HWILg1NzL8f8XvdiFCYhliIxniIiN+7qrFr7/g0o4kkPeMJLMumozaOV9eoj4fWdCy3vNOjx5vQojXMDFxlbDpHOu1GfjSdgM9LXUwj2tK65qagUkpSmTwTMykmZ9NMTqeYnE0xOZNmYnqOxGwS07LY1VrLVBqefuRBro4keOvqMEKApsGOuhh/duBBPr7wGUf2NvOv/+SL9yyYkDMtktkcc5k8c5kcc9k82bzJ1ZEpAgEvyUwO4XEiMTkp5yVceydmOdLVzAPt9UXOTZDgoqjRemDoGgdbatndUE3esvDojsJIIdyqUCgUlUrI56GzPk5nfXx+Wc60ePdyP7YU+P1BrFyGlKUjNeGW4ehIzUMubTOeTDOQWkIMQAA6oGtoQqBrHgKuc6JrAl04PUI0d5uFSamCQ4UU4DpYALeE4KQjviBBuoMhW9pI25m8s6VE2hJfwODstVGuj2UI+qJEA1F0IdF1nZksZKZyiL4xDnU0bMRhVSjKnnKPSK3XpPNS17hM3mR0OulEhFxn6NrI1HzpQ8jncRwgNxrUEAsRD/qWHV+als2ng+Pz/YRujM/QXBWmOhJY03ff8k6P0ASplqP0f3wBo7YNu7PLyT/WJOb4VfrH+9nx8FGCSw20pQRpks2mmEhMMzk9y+T0nOvUuE7ObJZszgJsV/rTJuSxqQ5JWoKSQ62C6hAYVY1Egns5dbEX07IJeJykBiE0BienGZue40sP3E80uHwEx5ZyvoFW0nVkFjxn8sxlc8tKPO+oi5HK5bFx1I8K6WdBr4FH1wn5vYQDXjrrYuxp2vgZunK/MCgUCsV64jV02mqjBL0Gc+kcfk+A6oDjbFgI5nKQNW3CPg/3t9fxyO5WLNvGtCWWbbsPRzHNtOz59+wF60hM28Z2ny3LeTbnP3trneLXKyUC9CXm0L06GVuSSkuwJZoraW3oGjfHZ8hJ+84bUigUJWOjUvD8buZMcfZMzrQYnUkxMj3HcMJxhk5fG5yX4/Z7jPlIkFMnFKI6HOD6aGLd+wlteacnk5rk55+Ns/fJf8O7V67Td3lo/r225vs5/OQ3+NknN/jj4EdMT/YzOZtlcjbLxGyOyTmLyZRNMrtwmz4DqkOC6iDsajWoDnupjvqpjgSojgTw+wNOc1DNN/+YzRv86splTBsQ2nw9jaFpSCBvS66MJ3lwl+BMz9DtTk02TzKbW7LpZqHJZsjnoSkeJuz3EPJ5bz37PIT8XsZnUtwYm57/XMHDb6mO3LY9hUKhUKw/LdURHtzZyOnL/eQtyUQaijs1eHSNI11NHGyp27QagHnp6SWcKNOWWJaNJZ3n4cQcYa+HdDaPhUQTAqELhHtv0jRBwGfgNbb+fUQI8XXg67t27Sq1KQrFqtjMFDyvodNaHaG1aKxpWjZjsymGE0nHGZpOcq5nGNMdGzfFQwwnkozOpPB5dEzbXtCAda39hLb8VWlgIoU/Wst/fOcKhqETCjeCtLHRODNi8XbfJZ7c284vPkhysXsChJMmEA+FqI74OdTipzoSpDoaojoWpjoWJRQMIXS/49gURWWcRnMmU3mTdM4kkzNJ5ywy+TzZXJ7huQymMJCArUkQAmv+84KeySSfDKfpHh1CE4KQz0PY7yXi99LkFoWF/d7557Dr6Ky0V40RV71pFAqFopT4PAZfebDLUX+bnCWdvdVOIeAzaKqO8JUHuza16FkIgaELDP3u4gO6JmiqDtM3Oo2xxCScEFAXDxHyl18R83ojpfwH4B+OHj36nVLbolCshlJn2hi6RlM8TFM8DDipsMXqmFPJDGd6hsmZFtMpSSZv3iaMMDjlOEurqcne8k5Pzta5MJQg7xZ5TidtsqaT56y57QeuT07zp0d289Sx+6iJBQn5veRMi3TeJFNwYPImwzmTG8Mm6dzE/LLi56xpLhmJAeiojZKzIeD3kM1ZSNty1OQk+Dw6VWEPkWCAfc01/PHh3RtSQ6N60ygUCkXp6Wqo4r978hC/u3iTnpEpLNupq+xsqOLJ/e0ll7W9Ew2xEHtcwYaxRPI2p60u7ryvJs8UCsVqKFbHvDI4MR8ZypsW/ZOzS9Z7F5qrrpQtP7rNCS83J2ZcJRuJpoHPp7mN1wAEfYkkQ2mTDz69QTpvLlkPU0AIJ/3L7zEIeA2CXoPqsJ+Ax8DvNZZ59jA2k6R3fMZRkcsnmcva2DZ4DQ2/BzSPoyJXFfJvqMyf6k2jUCgUpadS5fILk2cj00mCfi+ZbH7eafP7PHh0TU2eKRSKe8LvvXX98Bj6sg1RV1uOseWvSh6PQcAfJJVypJolGrYw5jOohQCPYeDzGHTUxvB7dQIeD37vLcfGedbxezz4PfqaIjBGPOymloGm+RHWLAaSoP9WmtxmpZZV6s1WoVAothKVKpdfrP6kJs8UCsV6s5J+QmsZM2/5UW7Y76WuKkJfzkTaOaRtockcutBACITmpa0uzqH2+g29+SxOLQMnmjOZtoHMpqeWVerNVqFQKBSlR02eKRSKjWIt/YRWwpa/OhXyjy1LMpqYw87lALABn9dLfTy8afnHKrVMoVAoFFsFNXmmUCg2iq6GKr5yqJM3P+tdUIPeWh3hqQMdaxozb3mnpzj/OBLylTz/WM2OKRQKhUKhUCgUd+aBjgb2N9es25h5W4y0yy3/WM2OKRQKhUKhUCgUd2Y9x8zbwukBFWFRKBQKhUKhUCi2K9tqxK8iLAqFQqFQKBQKxfbj9k4/CoVCoVAoFAqFQrGFUE6PQqFQKBQKhUKh2NIop0ehUCgUCoVCoVBsaYSUtzf9qSSEEGNA7yo/VguMb4A5q6Uc7CgHG6A87CgHG6A87FirDR1Syrr1NmYjWeM1ZDnK4X+3VirZdqhs+yvZdlhf+yvmGiKE+DrwdeDbwNU1buZej91GnDuVfj6WE+pYrh8rPZbLXkMq3ulZC0KIs1LKo8qO8rChXOwoBxvKxY5ysKESqeTjVsm2Q2XbX8m2Q+XbX0ru9dhtxLFX/8/1Qx3L9WM9jqVKb1MoFAqFQqFQKBRbGuX0KBQKhUKhUCgUii3NdnV6Xim1AS7lYEc52ADlYUc52ADlYUc52FCJVPJxq2TbobLtr2TbofLtLyX3euw24tir/+f6oY7l+nHPx3Jb1vQoFAqFQqFQKBSK7cN2jfQoFAqFQqFQKBSKbYJyehQKhUKhUCgUCsWWZls5PUKIE0KIc0KIbiHEd8vAnpNCiJMl3P933eNxTghxuEQ2POf+P7qFEC9v4n6fFUK8umjZ4aLjsSnnxzJ2bOp5upQNRe+V9BytFMrt2rIa3N9gwfaXSm3PWqnEc1UIIYuuOSW7Dt8L5XAfqTTWer1Y7/vWcnaU4l64FVjqt6CO5cpYzbl9L8fUWC+Dyx0hRCdwREp5xH3dLYTokVK+ViJ7SnpzKAxuCsejRDbEgZeklF3u61eFECeklBta+Oc6V9VA56K3XgWOSyl73AHUeSnlqc20Y7PP0zsci5Kfo5VCuV1bVoNr+7eLbD8nhHiuEmwvpoLP1UQpr8H3SjncRyqNtV4v1vu+dRc7NvVeuBW4w29BHcu7sIZze83HdDtFeuJA8Szmy8Dx0pgCwA9dGzYd19l4Tkr5Yin2X0QncL7o9Y+Bro3eqZTyBeD7xcuEEM8CPVLKHnfRy8Dzm20Hm3yeLmNDgZKdoxVGnPK6tqwYKWWPlLL4PJ8smTH3hjpXN5kyuo9UGnHWcL3YgPvWknaU4l5Y6Sz3W1DHcmWs5ty+12O6bSI9UsrzSyxObLYd4KSTAD3uoxQcBXpc7/ooMCml3PRBmpTyvBCis3ASAy+4j1LQycL/R4Iloh8bTbmcp2VwjlYM5fI/u1fc/3lnBUZ5KvlcjbspedXAqQpzIMriPlJprPP1Ys33rTvYURb3wgpjud+COpZrZ7ljd0/HdNs4PcW4XvkLlG429iV33/ES7b8TeBaoklImhBAvCyG+K6X8QQlseR445/79YpH3vtnEWXjjmcQZiJSMEp+npT5HK5IyuLasCXfgfRSopEF3gUo+V3uAF9w0jUpLLSyn+0hFsg7XizjrcN9aZMdz67HNbcaSvwX3vUTReupYrpw4Sx+75ZaviO2U3lbMD4HnSzHAFkKcwJnRK+Ws5CTwmpQy4b5+lRIM0twL7atSyiopZRVwxJ21LQWJRa+rKX2qT0nO0zI5RyuVkl1b7gUp5XH3N3jc/f9XBJV+rkopu4ps/zGV5SyXxX2kwrnX60Vi0eu13reK7VivbW4nlvstJBatp47lykksel04dsstXxHbzulx1SG+v0xodzPoAo4KIc7h/DCedf/eTMplgPDPgbNFr1+ldOltPUBxMfTiEOqmUuLztBzO0YqjDK4t68FJKivnfCudqzWlNmCVlMt9pCJZp+vFPd+3lrCjrO6FFcJyx0cdy7Wz3LG7p2O6rZyechiUSClflFIWFFNewJml3FTlG/f7H3YjLbh2LClZvMGcxXF8CrzAQmGDTcNV/jjqKtqAM/ArxTEp+XlaDudopVHq/9laEY5cdXF09XlK9BtcC5V8rrrHvjiq9hwluuashTK6j1Qc63W9uNf71lJ2lNO9sFJY7regjuXaWe7Y3esx3TY1Pe6N/TmcE7Ow+JSrGrEdeR543T0WpzZaJnopXCGD7wghut1Fm1LIW1RseNitZXjJ/SE9A7zqHpMfb7Ss5FJ24OSrbtp5eodjoVghlXxtkVK+JoR4SQjxPZxzr9KK6SsW99i/7F7/ElTmb6/k95FKY63Xi/W+b93Fjk29F24RlvstqGN5F9Zwbq/5mAop5boar1AoFAqFQqFQKBTlxLZKb1MoFAqFQqFQKBTbD+X0KBQKhUKhUCgUii2NcnoUCoVCoVAoFArFlkY5PQqFQqFQKBQKhWJLo5wehUKhUCgUCoVCsaVRTo9i03D7UpwUQkwJIc5VUud3hUJReQghnt3O+1dsX1w5dCmE6HbvuVPu/XfDzkl3ny9t1PbvsN/DRWOLwnc+UfT+s0V9XTZi/6veftH/57bj5S7fSHvPLerPtm1QTo9iU3B12F/C0V+vAr4DvOA2R1MoFGXKetycS3GTda858VLaABxXkzuKEvKalLJLSlnl3ndfwulvsmWccff3dQ6nQeVOoAqnOWgxrwIb+Z3Xuv0e4LtFTU0VG8y2aU6qKB3uBfYEUCWlTMB8B+MjhRkZ1dROoShrCjfn7xd+w+WM69x0SilfK6UdUsoX3Wvc2eKu9wpFKZBSnhJCfB/H+TlSanvuFXfC5WXg+KIGlQuaVboO34ZRvH3XCTuywubUp3Cacp4AfrBB5imKUJEexWbwEvCDZQZLL7kPhUJRvpwCzuPcnDcdIcQJN3KzUl4CXtwoe1bJS8D3Sm2EQrEFeRE4v8jhqTReRF0fNg3l9Cg2g8PAyWXeOwXEC+FdNy/3hPsshRDLfU6hUGwuFXFzFkIcBqrLJbLiRrGfUyksilIihIi7UYjvUTQhIIT4blHdz7nidNW73Y/dWppz7mdfBToXvR8XQrzqvr+gzmbR9gvrnFz0mQX2LMFR4Mcr+O4LUlsLtU1u6u65JWwtfJ/lPv9qcbpv4X33My8DJwrf5262uQ7b5J3SYFew/7Ucx2PF/9eiMVhcLKy9Xnw+LDhulYZyehQbStEPpmep96WUheVH3edqnAvy8zi5uUdVTrxCUXpWeHMu3GQX3EhdOotuposHT8sOjpYbSNxhX8+yKL1lCTvvNhjrLB7MuY9u16FaC+fZ2JoChWIpnisM4oEpnFqXZxZFRnpw0rGqcH43xXW2d7sfvw6cKqrTXTywPgeccd8/jlPHW/z5wva/g1OPcxS4DrzofmaSO2eCHGaZscVdqMb5ngngmaLv0gPsdPd9V2dqMVLK53G+zytuHdXxFX70Re4t42Utx7GTW/9XuPV/fx046X7u+9x+Piw+bhWFcnoUG0qRU7PkbE3RIGKyaPFrUsqEmw53CujaOAsVCsUqWPbm7M5Ext2bvcARLUkUrfICzk12J7cPnpYdHC01kLjLvo5x94HQ3QZjrwLfL8rV73ELws+7DtPLi2ZAT7gzoCfE0hGdHtcuhWIzea1IxOAVnPN4QQRUSvla0W/nZRxHYvE2brsfC1cMQUr5ovucwHHucd9/DkhIKX/gvt+D8ztenHa6ePtni8YNJykSI1mC8ywztlgBp6SUL0opE+536Sy8du3dtHpAd193nFBaAas9jj8uWv8F4Nmi41D4n70GCyavoei43YOtJUM5PYrN4DxFF1I3JB53Xx7FuTAWX4jPbKJtCoVihazg5ny0aDC0ONqy3OBppYOjle4rDkws96EV7u9w0aDnxywcCB7FmfEsbO8wjgN2Cvhblk4BnOTOgzeFYqN5kVsD23ncqObLQohulk5DX+5+3AmcvcP+Orl98qGH252U4u1PLvpM4g7bx93/SqMpiyn+rnf7LpvBvdYhrvk4FjlHXwZwo9rd7jkRZ+G1q6JLDpTTo9gMvg98r8jReQF43X39ovu+QqGoDJa8ObtOwveBgsT1YuGBOw2eVjI4Wum+qrnzTX4l+ztV5Ngdp2gGewln7tnC9lyHbilZ7ARFjpJCsdm45+b3caI5gJPmiSv3LKXsYnUOxCR3jrL0cHvUqJO7OzJ3e7+Yl1jCkVshxdklPdxKsV8PVv1bd2v/qsX6yeon7vJ+8cRN4f/4Hk6EqGvRo3hSepIKRjk9ig3HHaD8LXBOCHHYlXKM4+Sc9hRmXBUKRflzp5uzlPIH7uCpi5UPRlY6OFowkLjDvu4WVVnp/l5wayGqCyk8y7A4/XapAU+cCh8sKCqfwr22yKFfXHO74gG3e1+vFkJ8191mJ0V1a0WpUcXvv8w6qiq6EYoXgJOLCv0PLzHpcqftnAJ6CuIAbgrriSJnYN7BW/w9lyBRtO5qawALcuKLWc3+V8pxd3txnHTeV9z/WeeimsotJcKinB7FpuA6Oi8BPxRCSJyBQZyiWSeFQlEx3HZzdmtaih2PFbHCwVGCooHEXfbVA9Tc4/6Ocqv+6Dsr/S53oBPoXoftKBT3yovAS0KIuDuDfwoopDLVsDphgGe4NTnwIs7kZnFq6REclbApnLSol9a7J5+7vSMFO9zxxQ9ZfRrWMzgD/imcCdkj3Lq2vIyTrXKOpb9nMaeKtrOSXj3F3+UHLD1pspr9r4QeHCfvHLcmnwu2HsdpqlwQwDhWqfU7SyGklKW2QbFNcWcTXsZRjikLeVmFQrGQwozp4mZ77g0xDnRJKXtcJ+RFbqWJ/G3hM+7N9ftFDserODfaF93XcZyByrO4SkPFgyPXMSlIpP4tzszkcvs6ATy/WDmp2IYV7O8cC6NBCeA7i+x/0f3e38WpEXrFfa/bjUAV77sbeKHC+4koFApFRaOcHkVJcQdKk8rpUSgU60HBQZJr7MK+lNPkps78sLDNRU7PYeBZKeUP3H2/WOwgusu6XZU5hUKhUJQIld6mKClSylPK4VEoFOuFm+d/9h7lX6uXy2N3HaBOnB4one71qxDpeo7baxaeA1TdokKhUJQYFelRKBQKxZbCjb68ujjNbBWfP8Et56UaJ0//xSJp15VuJ46TlndkK+XFKxQKRSWinB6FQqFQbDnciMzxxbVIm2xDocmpimYrFApFiVFOj0KhUCgUCoVCodjSqJoehUKhUCgUCoVCsaVRTo9CoVAoFAqFQqHY0iinR6FQKBQKhUKhUGxplNOjUCgUCoVCoVAotjTK6VEoFAqFQqFQKBRbmv8Xz80yxXYYNyUAAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 1116x504 with 5 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "nt=\"main-results2\" \n",
    "def fig2():\n",
    "    base_fontsize=17\n",
    "    fig=plt.figure(figsize=(15.5,7))\n",
    "    gs=gridspec.GridSpec(2,20)  \n",
    "    ax1=fig.add_subplot(gs[0,:9])\n",
    "    ax2=fig.add_subplot(gs[0,9:18])  \n",
    "    ax3=fig.add_subplot(gs[1,:6]) \n",
    "    ax4=fig.add_subplot(gs[1,6:12])  \n",
    "    ax5=fig.add_subplot(gs[1,12:18])\n",
    "    filename1=datapath+\"/rand_RL_1.csv\" \n",
    "    filename2=datapath+\"/rand_RL_6.csv\" \n",
    "    filename3=datapath+\"/rand_RL_2.csv\" \n",
    "\n",
    "    #ax1\n",
    "    ylim=[0.0002,0.5]\n",
    "    yticks=[1e-3,1e-2,1e-1]\n",
    "    yticklabels=[\"-3\",\"-2\",\"-1\"]\n",
    "    ylabelpad=-1.5\n",
    "    ylabel=r\"Err-abs(log$_{10}$)\"\n",
    "    # label_loc=[-0.075,1.05]\n",
    "    label_loc=[-0.112, 1.06]\n",
    "    bar_alpha=0.75\n",
    "    chosen_dict1={\"obs_type\":\"global\",\"error_type\":\"real-co\",\"ri\":[4,64],\"qn\":6,\"circ_type\":\"basis\"} \n",
    "    method_list1=[\"noisy\",\"noisy_TPN\",\"noisy_MF\",\"MS_fixed2\",\"MS_fixed2_fast\"] \n",
    "    label_list1=[\"Noisy\",\"TPN\",\"MF\",\"MT(rnd)\",\"MT(sub)\"]\n",
    "    plot_corr_bar_1(ax1,\"(a)\",filename1,chosen_dict1,method_list1,\"\",ylabel,colors_dict2,base_fontsize,\"log\",yticks=yticks,yticklabels=yticklabels,ylim=ylim,xticks=list(range(5)),xticklabels=[\"\"]*5,xlim=[-0.5,4.5],xscale=\"abs\",ylabelpad=ylabelpad,legend=False,ncol=1,error=\"abs\",bar_alpha=bar_alpha,width=0.6,label_loc=label_loc) \n",
    "    ax1.set_title('Random basis state',fontname='Arial',fontsize=base_fontsize-1)  \n",
    "\n",
    "    #ax2\n",
    "    chosen_dict1={\"obs_type\":\"global\",\"error_type\":\"real-co\",\"ri\":[4,64],\"qn\":6,\"circ_type\":\"rand\"}  \n",
    "    plot_corr_bar_1(ax2,\"(b)\",filename1,chosen_dict1,method_list1,\"\",ylabel,colors_dict2,base_fontsize,\"log\",yticks=yticks,yticklabels=yticklabels,ylim=ylim,xticks=list(range(5)),xticklabels=[\"\"]*5,xlim=[-0.5,4.5],xscale=\"abs\",ylabelpad=ylabelpad,legend=False,ncol=1,error=\"abs\",bar_alpha=bar_alpha,width=0.6,label_loc=label_loc) \n",
    "    ax2.set_title('Random state',fontname='Arial',fontsize=base_fontsize-1)  \n",
    "\n",
    "    #ax3\n",
    "    alpha=0.7\n",
    "    qn_list=[2,4,6,8,10,12,14]\n",
    "    chosen_dict1={\"obs_type\":\"global\",\"error_type\":\"co\",\"ri\":4,\"corr_mean\":0.008,\"nshots\":5,\"ind_mean\":0.015,\"co_rate\":0.01,\"qn\":qn_list} \n",
    "    method_list2=[\"noisy_TPN\",\"noisy_MF\",\"MS_fixed2\",\"MS_fixed2_fast\"] \n",
    "    label_list2=[\"TPN\",\"MF\",\"MT(rnd)\",\"MT(sub)\"]\n",
    "    plot_corr_MAE_1(ax3,'(c)',filename3,chosen_dict1,method_list2,label_list2,\"qn\",\"Qn\",r\"Err-rel($\\times 10^{-1}$)\",colors_dict2,markersize,base_fontsize,\"abs\",yticks=[0.2,0.4,0.8,1.2],yticklabels=[\"2\",\"4\",\"8\",\"12\"],ylim=[],xticks=qn_list,xticklabels=qn_list,xlim=[1.2,qn_list[-1]+.8],xscale=\"abs\",ylabelpad=-3,legend=False,ncol=1,error=\"relative\",label_loc=label_loc,alpha=alpha)    \n",
    "\n",
    "    #ax4 \n",
    "    chosen_dict1={\"obs_type\":\"global\",\"error_type\":\"real-co\",\"ri\":16,\"corr_mean\":0.008,\"qn\":6,\"ind_mean\":0.015,\"co_rate\":0.01} \n",
    "    method_list3=[\"noisy_MF\",\"MS_fixed2\",\"MS_fixed2_fast\"] \n",
    "    label_list3=[\"MF\",\"MT(rnd)\",\"MT(sub)\"]\n",
    "    xticks=[2,3,4,5,6]\n",
    "    plot_corr_MAE_1(ax4,'(d)',filename2,chosen_dict1,method_list3,label_list3,\"nshots\",r\"Nshots(log$_{10}$)\",r\"Err-abs($\\times 10^{-2}$)\",colors_dict2,markersize,base_fontsize,\"abs\",yticks=[0.02,0.06,0.12],yticklabels=[\"2\",\"6\",\"12\"],ylim=[-0.01,0.13],xticks=xticks,xticklabels=xticks,xlim=[1.6,6.4],xscale=\"abs\",ylabelpad=-5,legend=False,ncol=1,error=\"abs\",label_loc=label_loc,subfigure=True,subylim=[5e-4,5e-2],subxlim=[3.6,6.4],sub_loc=[0.5,0.4,0.45,0.45],sub_ylabel=r\"log$_{10}$\",sub_x_list=[2,5],sub_xticks=[4,5,6],sub_xticklabel=[4,5,6],sub_yticks=[1e-3,1e-2],sub_yticklabel=[\"-3\",\"-2\"],alpha=alpha)   \n",
    "\n",
    "    chosen_dict1={\"obs_type\":\"global\",\"error_type\":\"real-co\",\"nshots\":np.inf,\"corr_mean\":0.008,\"qn\":6,\"ind_mean\":0.015,\"co_rate\":0.01} \n",
    "    #ax5 \n",
    "    xticks=[2,10,20,60,100]\n",
    "    plot_corr_MAE_1(ax5,'(e)',filename2,chosen_dict1,method_list3,label_list3,\"ri\",\"Random Circuit Number\",r\"Err-abs(log$_{10}$)\",colors_dict2,markersize,base_fontsize,\"log\",yticks=[1e-3,1e-2],yticklabels=[\"-3\",\"-2\"],ylim=[2e-4,4e-2],xticks=xticks,xticklabels=xticks,xlim=[-5,105],xscale=\"abs\",ylabelpad=-3,legend=False,ncol=1,error=\"abs\",label_loc=label_loc,alpha=alpha) \n",
    "    \n",
    "    #ax1 label\n",
    "    labelspacing=0.8\n",
    "    handletextpad=0.2\n",
    "    label_size=4.5\n",
    "    handles=[] \n",
    "    for name in method_list1:\n",
    "        handles.append(Patch(color=colors_dict2[name],label=label_list1[method_list1.index(name)]))\n",
    "    handles.append(Patch(facecolor='white', edgecolor='lightgrey', hatch='', label='ri=4'))  \n",
    "    handles.append(Patch(facecolor='white', edgecolor='lightgrey', hatch='//', label='ri=16')) \n",
    "    ax1.legend(handles[:3],label_list1[:3],handletextpad=handletextpad,labelspacing=labelspacing,prop={'size':base_fontsize-label_size},ncol=3)\n",
    "    length_m1=len(method_list1)\n",
    "    ax2.legend(handles[3:],label_list1[3:]+['ri=4','ri=64'],handletextpad=labelspacing,labelspacing=handletextpad,prop={'size':base_fontsize-label_size},ncol=2)  \n",
    "\n",
    "    #ax3 label\n",
    "    handles=[] \n",
    "    chosen_labels=[]\n",
    "    methods=[\"noisy_TPN\"]+method_list3\n",
    "    labels=[\"TPN\"]+label_list3 \n",
    "    for name in methods:   \n",
    "        handles.append(Line2D([0],[0],linestyle='-',color=colors_dict2[name],marker=\"o\",markersize=markersize,markeredgewidth=1,markeredgecolor='white',label=labels[methods.index(name)])) \n",
    "        chosen_labels.append(labels[methods.index(name)])\n",
    "    ax3.legend(handles[:],chosen_labels[:],handletextpad=handletextpad,labelspacing=labelspacing,prop={'size':base_fontsize-label_size},ncol=2) \n",
    "    # ax4.legend(handles[2:4],chosen_labels[2:4],handletextpad=handletextpad,labelspacing=labelspacing,prop={'size':base_fontsize-label_size},ncol=2) \n",
    "    # ax5.legend(handles[4:],chosen_labels[4:],handletextpad=handletextpad,labelspacing=labelspacing,prop={'size':base_fontsize-label_size},ncol=1) \n",
    " \n",
    "    fig.subplots_adjust(wspace=120,hspace=0.12) \n",
    "    plt.savefig(\"../paints/result2.pdf\", dpi=800, format=\"pdf\", bbox_inches='tight')\n",
    "fig2()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 273.6x432 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "nt=\"main:ms-location\" \n",
    "plt.rcParams['text.usetex'] = True\n",
    "plt.rcParams['text.latex.preamble'] = r'\\usepackage{amsmath}'\n",
    "def fig3():\n",
    "    fig=plt.figure(figsize=(3.8,6))\n",
    "    base_fontsize=14\n",
    "    gs=gridspec.GridSpec(2,1)  \n",
    "    ax1=fig.add_subplot(gs[0])\n",
    "    ax2=fig.add_subplot(gs[1])  \n",
    "    filename=datapath+\"/rand_RL_5.csv\"  \n",
    "    yscale=\"log\" \n",
    "    xscale=\"abs\"\n",
    "    xlabel=\"Random Circuit Number\"\n",
    "    ylabel=r\"Err-abs($\\times 10^{-3}$)\"\n",
    "    ylim=[0.0021,0.0066]\n",
    "    xlim=[-1.3,6.5]\n",
    "    yticks=[0.003,0.004,0.005,0.006]\n",
    "    yticklabels=[\"3\",\"4\",\"5\",\"6\"]\n",
    "    mlist=[\"noisy_TPN\",\"noisy_MF\",\"noisy_MF_fast\",\"MS1\",\"MS2\"]\n",
    "    llist=[\"TPN\",\"MF\",\"MF(sub)\",r\"MT($\\tau^{\\text{eff}}$=1)\",r\"MT($\\tau^{\\text{eff}}$=2)\"]\n",
    "    width=0.75  \n",
    "    bar_alpha=0.75\n",
    "    xlabel=\"Measurement Circuit Depth\"\n",
    "    \n",
    "    depth_list=[-width,0,width,5,2]\n",
    "    plot_loc_comp(ax1,\"\",filename,{\"obs_type\":\"two-local\"},mlist,llist,depth_list,\"\",ylabel,colors_dict2,base_fontsize,yscale,yticks=yticks,yticklabels=yticklabels,ylim=ylim,xlim=xlim,ylabelpad=0,error=\"abs\",xlabelpad=0,width=width,xticks=[0,2,5],xscale=xscale,xticklabels=[\"0\",\"1\",\"5\"],bar_alpha=bar_alpha)\n",
    "    ax1.set_title('ZZIZZI',fontname='Arial',fontsize=base_fontsize-2)\n",
    "    \n",
    "    depth_list=[-width,0,width,6,3]\n",
    "    plot_loc_comp(ax2,\"\",filename,{\"obs_type\":\"interval\"},mlist,llist,depth_list,xlabel,ylabel,colors_dict2,base_fontsize,yscale,yticks=yticks,yticklabels=yticklabels,ylim=ylim,xlim=xlim,ylabelpad=0,error=\"abs\",xlabelpad=0,width=width,xticks=[0,3,6],xscale=xscale,xticklabels=[0,3,6],bar_alpha=bar_alpha)\n",
    "    ax2.set_title('ZIZIZI',fontname='Arial',fontsize=base_fontsize-2)\n",
    "\n",
    "    #label\n",
    "    labelspacing=0.8\n",
    "    handletextpad=0.2\n",
    "    label_size=3\n",
    "    handles=[] \n",
    "    for method in mlist:\n",
    "        handles.append(Patch(facecolor=colors_dict2[method],edgecolor='lightgrey'))  \n",
    "    label_list=llist\n",
    "    ax1.legend(handles[:3],label_list[:3],handletextpad=handletextpad,labelspacing=labelspacing,prop={'size':base_fontsize-label_size},ncol=1)\n",
    "    ax2.legend(handles[3:],label_list[3:],handletextpad=handletextpad,labelspacing=labelspacing,prop={'size':base_fontsize-label_size},ncol=1)\n",
    "\n",
    "    fig.subplots_adjust(wspace=0,hspace=0.3) \n",
    "    plt.savefig(\"../paints/result3.pdf\", dpi=800, format=\"pdf\", bbox_inches='tight')\n",
    "fig3()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXQAAAD4CAYAAAD8Zh1EAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAAsTAAALEwEAmpwYAAAOVklEQVR4nO3dv28b5x3H8c9XMJCOtJOlQzswQ4C26GApQIpstQwUWSO7SzsVkYz8AXYLdGxhyH9AECdAl07+kY5BC8lj0AC1PBTokEEq0KlDG3MJUAOBvh3uOerh8cg7UkeR/Or9AgSRz91zz0Pe3UcPnyMpc3cBANbfxrI7AADoBoEOAEEQ6AAQBIEOAEEQ6AAQBIG+osysfxnbBtbBqp4jBHoNM7trZsdm9jL97GfLXppZ7wK6cWxm15tWWlB/WrWNxciOv+PsOMzvHyy7j4tmZn0ze7nsfkyxkufIlWV3YNWkk2UgadPdByksty+6H+5uF93mKrQNyd0fSHpQ3jczl3TD3V8sr1frx8weSjpw96ddb3tVzxECPWNmu5KuufvNsszdB5I6PyAAoGtMuYy6J+l+25XN7GH2MjiflumZ2UG2bLeuLK3bT+Xly+rtVD6cSpnUTov+lW0fpe1tZ8v6qfzYzJ7k0zZl2w19Ppq1P+jOpH0waZ+33JfV4+DYzK6nersT+nGUpojK9nam1W9obydt40jFuZi3k58PI9MxdedQGp3flvRpaq92eiTcOeLu/KQfSS6p37DOS0m9dHu7Un493d6VtJ8t69eVZfW20+1eto3GdqrrTejrftang6ydl1kfdiQdVbfZ0Oeynwd5//hZ2HF5vVJWuw+m7PO6Y7LNcXA8bf+mdXbL4zT1tVdXf1p7aZln6+5Kell3nKe+V5fVnUMPJe00PLehzhFG6Ofg7ofZ3UNJW9n9nXJU4O4ndWVpNHNSbsfdB14zT9rQTpNHNfVuS3pc9suLOcbehFFMXZ+fZ/3cl3Szph4WpMU+qNvn0vgx2eY42K8cf3XK4/cw3c6vOeX1p7V3W9Jhtm5Tm5KGz0XjOdQgzDnCHPqoE0nX0+9G6eXZnoq/1Fsq/hLL3T8xs01Jz8xMKi5ojZWpGGk8n7edlgY1ZW/WlJ+k/gxPhil97qeXxaVHwkVq2geDaoUJ+7LNcdAqWGvql/L609rrqeV5V9HqHGowqClby3OEEfqoh5J+02ZFK96H+lDSB15cRH2cL3f3PXe/qmJO/tMJZdWDf+Z2Wvi6puy4pt2+ak6omj4PJD11983s50G1HhZqoOn7oG6f1+3LNsdB7bam2JpSf1p7g5plk/Sy203n0LUW2wtzjhDomfJJr7kAcrdm9b6kgRfvgpGyl5npokx5MByqeKk2VpZexm2VL9fSBZbhRaWmds7hsaTtrN3d1MbIS9W6Pqe6O2V56vOFv63zvNIFq+pzvS5m3gdT9mXjcdBCeeF1R8Uc8qR3hU1rb2SZijnr3Nc6C9i9srDhHBqoGGnLZv+sxlqeI0y5VLj7ZroqfWRm5V/3sXe+uPuhmSldbX+u0b/cPUn5H4W9CWWStJmVD1S5ut/Qzly8eH/9DRXvAOilbd6oWXWsz6nurUqfPzhvn9DenPugp/p92eY4aLKZphd6km419Lu2vewxPTOzExXhmB/rT1P/T1RMOebLJp1DB5IOUpje0wzTR+t6jli6CgtcKimA7k8ZTaKFNNDYzC78Y4mYcgGAIBoD3Ua/1+TIVvRLaYA5vJ0+FOLpd2/ZHQLOo80I/UTFS6qrKuagniy2S8CF6auY872a7nNsz8jdrzLdsjpmmkNPo/NjX9EvpgHaqs6hc2wjgjZTLn1L3yWi2T7QAqyNcpTJlCLW2dS3LaY5xSNJt9x9rxzFdNHwv391q9VLg/dfm+ddVLjsvvjoTpuR9vBDJ2WQdzF90ObY5rjGvKYd200j9HK0Mvwukk56BKyGm9Jw4PJE0idL7Q1wTlMDPX0q6lDFf+c4lvS6OvhgC7ACTiSdpLn0f6r4gqe9hjrASmv8pKi7Vz/5da92RWCN1BzXwNrjg0UAEASBDgBBEOgAEASBDgBBEOgAEMTSvg+dD1YgKo5tLAsjdAAIgkAHgCAIdAAIgkAHgCAIdAAIgkAHgCAIdAAIgkAHgCAIdAAIgkAHgCAIdAAIgkAHgCAIdAAIgkAHgCAIdAAIgkAHgCAIdAAIgkAHgCCW9i/oPnv1rNV6Xf47rzZt8u/DZvPeO2+1Wu/zL7/qrM2fXn+zs20twkUfZ8s4l7CaGKEDQBAEOgAEQaADQBAEOgAEQaADQBAEOgAEQaADQBAEOgAEQaADQBDm7ktp+N0PP15Ow7gUvvjoji2rbY5tLNK0Y5sROgAEQaADQBAEOgAEQaADQBAEOgAEQaADQBAEOgAEQaADQBAEOgAEQaADQBAEOgAEQaADQBAEOgAEQaADQBAEOgAEQaADQBAEOgAEQaADQBAEOgAEQaADQBAEOgAEQaADQBAEOgAEQaADQBAEOgAEQaADQBAEOgAEQaADQBAEOgAEQaADQBAEOgAEQaADQBAEOgAEQaADQBAEOgAEQaADQBAEOgAEQaADQBAEOgAEQaADQBAEOgAEQaADQBAEOgAEQaADQBAEOgAEQaADQBAEOgAEQaADQBAEOgAEQaADQBAEOgAEQaADQBAEOgAEQaADQBAEOgAEQaADQBAEOgAEQaADQBAEOgAEQaADQBAEOgAEQaADQBAEOgAEQaADQBAEOgAEQaADQBAEOgAEQaADQBAEOgAEQaADQBAEOgAEQaADQBAEOgAEQaADQBAEOgAEcWVZDX/26lmr9d5/7UZnbf7xt7cb1/nl7x531t5lsIz9+Kff/6KzbS1Cm+eky+cDi7GO+5EROgAEQaADQBAEOgAEQaADQBAEOgAEQaADQBAEOgAEQaADQBDm7ktp+N0PP15Ow7gUvvjoji2rbY5tLNK0Y5sROgAEQaADQBAEOgAEQaADQBAEOgAEQaADQBAEOgAEQaADQBAEOgAEQaADQBAEOgAEQaADQBAEOgAEQaADQBAEOgAEQaADQBAEOgAEQaADQBAEOgAEcWVZDb/3zlut1vv8y686a/OzV88a13n/tRudtXcZtHlOpW6f13Zt3umsvVn95Iffb1znr//4V2ftLWMfXAYXnRdt9+O0Y5sROgAEQaADQBAEOgAEQaADQBAEOgAEQaADQBAEOgAEQaADQBDm7svuAwCgA4zQASAIAh0AgiDQASAIAh0AgiDQASAIAh0AgiDQASAIAh0AgiDQASAIAh0AgiDQASAIAh0AgiDQASAIAh0AgiDQASAIAh0AgiDQASAIAh0AgiDQASAIAh0AgiDQASAIAh0AgiDQASAIAh0Agriy7A7Mo/e9H/i3r74Z3reRG3Z2P5VZZU3LKlllpbyu2WhJbb2xNsr7IyWqbOpsebWuJLORFce2NN6Psw6Pb6u+3sjNunqVTlul0rzPW9aT4cLRuvM8b/XP5dhjH+v/WaXq4x9yz++M/Breabo/Vjx5nbEG6srG+lVzv1Lmteu1eTxtyiZsZ7hata91daqPeUqdkXLPal/M46krm/oYs5t//+/Lv7j7z8YfSDfWMtC//d83+vHOryUVAbCxkX6bDX9L0saGyUxj5UUd04aN1jurUywb1tvI6lm2zVS+MdK2ZBuVtvJ6Y9tKyzfOwiwvt9TP+nIbhtbGWHm5rawPG9XnQSN1RvuskW2NPneTntPq480eT02d/PHV7YeR53ps/2T1ap9TnfWt8jjy/TBabrLhSeqSu9xPpVNP90+Hy9xdOj0drleUn8rzdd2LuuUyz5bVlVe2N9a2n/XN83Wz7Xm17dTnsbbLx1Y+1tOsXrn97Hkol3nW73x7Xnl+8u152e9Kn73y/Iy0nT3WsT7ny06zNsr2T2va8PHHM9xXefunlf2Ubc+9sr+zxzOyr7Ltef68SvruH56+oQViygUAgiDQASAIAh0AgiDQASAIAh0AgiDQASAIAh0AgiDQASAIG77pf42Y2Z8llW/Qf0PSf5bYHQBo6zvu/qNFbXwtAz1nZs/dfWvZ/QCAJovOK6ZcACAIAh0AgogQ6J8suwMA0NJC82rt59ABAIUII3QAgNbg+9DNbEfSQFLf3cdertQtb6oDAItwjrzac/eb521/pUfo6YHK3Q/T/e2m5U11AGAR5smrdP9pV31Y6UCX9Lakk3T7RNL1Fsub6gDAIsyTV51a9UDvVe6/3mJ5Ux0AWIRe5X6bvOrUqgf6QNK1GZc31QGARRho9rzq1KpfFP2bzv6q9SUdtFjea6gDAIswT151aqVH6OliQT9dPOhlFxMOJi2fVAcAFmmevErLtyVtlRdNz4MPFgFAECs9QgcAtEegA0AQBDoABEGgA0AQBDoABEGgY6WZ2RMz260p35/0Ni8z65nZUUft75jZsZkdpZ+ZP67dZX+AaQh0rLpHkm7VlO90+aVGdcysL2lf0qa7b0q6oeLTfsBKItCx0lJob5lZryxLo+QXF9B8X9ILdx+kvgzc/WR6FWB5CHSsg8eSbmf391SM3GVmB+nnKA/9UnW6w8yOs9t3U72DurqSnkvaTuv1a7a9m03F3G3Tn5btAnMh0LEOnqgI8dJ2Od3i7jfTPwZ4qGJ6pJU0yr+ZplL26uqmkfmmiq89Pc4DONXfc/dyOuaTNv1p0y4wr1X/ci5A7n5oZv0UpluSht/Pk0bO25Jm/W8vP5d0zcyepPtjI/DU9onSHL6ZlSG9l+o/ytYbtOxPq3aBeRDoWBePJe1KelPFiL0c7X4q6QMV/zBgb2LtevdnvLC6X7ZdZ4b+zNou0ApTLlgXD1WMbreyb9DckvTI3V9o+ki3JxXz6dl6j5QF7oQ58u3KvxHb09mrg0epP3n9Nv1pbBeYFyN0rAV3f5ECOf865MeSjszspoq3E35dU29gZi/SV5i+SD/l9p6UX22q4rupH1Sqn0i6l6ZaJOnQ3fey+g+zC66Hku636E+bdoG58PW5ABAEUy4AEASBDgBBEOgAEASBDgBBEOgAEASBDgBBEOgAEASBDgBB/B/vJQ9zINSUOgAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 432x201.6 with 3 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "nt=\"main-subspace\"\n",
    "def measure_ptm(n,A): \n",
    "    dim=2**n\n",
    "    if A.shape!=(dim,dim):\n",
    "        raise ValueError(f\"Unsupported transfer matrix!\")\n",
    "    bin_str=[np.binary_repr(i,width=n) for i in range(dim)]\n",
    "\n",
    "    W=np.zeros((dim,dim))\n",
    "    for y_idx,y_str in enumerate(bin_str):\n",
    "        for k_idx,k_str in enumerate(bin_str):\n",
    "            dot_product=sum(int(y_bit)&int(k_bit) for y_bit, k_bit in zip(y_str,k_str))\n",
    "            W[y_idx, k_idx]=1 if dot_product%2==0 else -1\n",
    "\n",
    "    R_diag=(1/dim)*W@A@ W.T\n",
    "\n",
    "    full_dim=4**n\n",
    "    PTM=np.zeros((full_dim, full_dim))\n",
    "    \n",
    "    diag_indices=[]\n",
    "    for i in range(dim):\n",
    "        bin_rep=bin_str[i]\n",
    "        pauli_index=0\n",
    "        for pos, bit in enumerate(bin_rep):\n",
    "            pauli_value=3 if bit=='1' else 0 \n",
    "            pauli_index+=pauli_value*(4**(n-1-pos))\n",
    "        diag_indices.append(pauli_index)\n",
    "    \n",
    "    for i,row_idx in enumerate(diag_indices):\n",
    "        for j,col_idx in enumerate(diag_indices):\n",
    "            PTM[row_idx,col_idx]=R_diag[i,j]\n",
    "    return PTM\n",
    " \n",
    "\n",
    "\n",
    "fig=plt.figure(figsize=(6,2.8))\n",
    "base_fontsize=16\n",
    "gs=gridspec.GridSpec(1,2)  \n",
    "ax1=fig.add_subplot(gs[0])\n",
    "ax2=fig.add_subplot(gs[1])\n",
    " \n",
    "T=make_transition_mat(2)\n",
    "mem_ptm=np.abs(measure_ptm(2,T))\n",
    "ind_ptm=measure_ptm(1,make_transition_mat(1))\n",
    "T_ind=np.abs(np.kron(ind_ptm,ind_ptm)) \n",
    "\n",
    "white_hex=\"#FFFFFF\"\n",
    "red_hex=get_fushi_colors(7)[0]\n",
    "blue_hex=get_fushi_colors(7)[1]\n",
    "vmin=-0.0001\n",
    "vmax=0.01\n",
    "norm=Normalize(vmin,vmax)\n",
    "custom_cmap=LinearSegmentedColormap.from_list(\n",
    "    \"custom_red_white_blue\", \n",
    "    [red_hex,white_hex,blue_hex],\n",
    "    N=256 \n",
    ")\n",
    "\n",
    "sns.heatmap(mem_ptm,ax=ax1,cmap=custom_cmap,norm=norm,cbar=False)\n",
    "sns.heatmap(T_ind,ax=ax2,cmap=custom_cmap,norm=norm,cbar=False)\n",
    "     \n",
    "ax1.set_xticks([])\n",
    "ax1.set_yticks([])\n",
    "ax2.set_xticks([])\n",
    "ax2.set_yticks([]) \n",
    "ax1.set_title('Classcial noise',fontname='Arial',fontsize=base_fontsize-2)\n",
    "ax2.set_title('Tensor product noise',fontname='Arial',fontsize=base_fontsize-2) \n",
    " \n",
    "cbar_ax=fig.add_axes([0.16, -0.05, 0.7, 0.05]) \n",
    "sm=plt.cm.ScalarMappable(cmap=custom_cmap,norm=norm)\n",
    "sm.set_array([])\n",
    "cbar=fig.colorbar(sm,cax=cbar_ax,orientation='horizontal')\n",
    "cbar.set_label('Value Scale',fontsize=12)\n",
    "cbar.set_ticks([0,0.01])\n",
    "check_ax_detail(ax1,\"a\",\"\",\"\",[],\"\",[],[],[],\"\",[],[],base_fontsize-2,label_loc=[-0.15,1.05])\n",
    "check_ax_detail(ax2,\"b\",\"\",\"\",[],\"\",[],[],[],\"\",[],[],base_fontsize-2,label_loc=[-0.15,1.05])\n",
    "\n",
    "fig.subplots_adjust(wspace=0.2,hspace=0.2) \n",
    "plt.savefig(\"../paints/fig01.pdf\", dpi=800, format=\"pdf\", bbox_inches='tight')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAosAAAHoCAYAAAAhYqV+AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAAsTAAALEwEAmpwYAAA2hElEQVR4nO3dW5Bd13kg5n+TBEkAAtjgVRQpSwItOaTl0ZgUR5WpyoMjsCyRogRShJSaqXIlFZuc8YPyFLL8mCcW9ZY8DeSqVCpvElgTRbzIDunkzRkXL+OMNYIsGaAuoCiCFzQBgQTBy85Dn7PPQmOvPnt1n31u/X1VKCzsXr33xtm9ulf//1nrr+q6DgAAaHPJrG8AAID5ZbIIAECWySIAAFkmiwAAZJksAgCQZbIIAECWyeISqarqcFVVxwZ/DldVtdLTdQ4MrnGqqqojfV0HpmFa4ya53sNVVdXGDYtummOnqqoHqqp6YfDnsb6uQzuTxSVQVdVKVVXHIuJYXde31HV9S0Qci4gXehq8jwyus2/w77/s4RrQqxmMmxic964+zg3TMu2xU1XVAxHxUF3Xdwz+PDLpa7Cxyqbci6+qqsMREXVdP7Tu+GMRsb+u60MTvNaBiFip6/rxwb9XIuJUXdfVpK4B0zDNcbPums9ExJGI2FfX9eqkrwF9m/bYGUxM7zBeZsdkcQlUVVVHxC11XR9fd3wlkoncYMA9FhEPRcT+iDhU1/WzE7q+H3wslGmPm6qq9kfEM3Vd32LMsMimOXaqqro91n65OhwR34yIlYi4a/216Zc09IIb/ACKtoEz/EE0GGwREVfH2gC/IyIeGfzZ6vUfiIgX/dBjkcxo3BzewufCXJjB2Nk/+HN8cJ7HYm3yyBRdNusbYOq+O/j72VgbdMPfBv9izOcdq+v6O+mBwec9Ft6DxfLb0rgZvH3j6uHbN2Ab2erPnKsjYnU4dgbj6XBVVSuCFNNjsrjg6ro+XlVVVFW1vyUlsH/QTI+vtpxjNTb3G9+RWEsrSAewUGYwbg5FxP5BWm7ohaqqHjGBZJHMYOy8GRHPrzu2GoNJZMdzsEWd3rM4fK9NdHyfQFVVz0TEkfWRKPqRvtk4eX/HHbH2m9vtdV3fNeh3KiI+Vdf16uCZvjBc0dxhK4Ln0h9qg2f8SF3XL07+fwT9m8W4Sa7tPYssrGmOnUEU8qVk9w3jZwa6RhaPxNrEoGsE6VBEvFRV1bOiTlPxSKxFKR6u6/rbVVU9HhEvxNpvXp/qcoKSrQiqqhp+PZgossimOm5giUxt7Awmms9XVfXAYPL4cEQ8bqI4XWMXuFRV9WBEREmqZPAQHw1vQp2Kwet9R0TcMkhzPRhrg/Y7kx5QgwUtD0TE3ww25R7+WZnkdaBv0xw3sExmMHYORcRDg2vdFRF/1sM12MDYNHRVVS9ExOHSlPJwCX20LK+nf4OQ/7FYe+vAlrfHge3AuIHNMXaW24aRxcHDvz0ivld64sFvFy/GWhSKKRtM0G+JtTcHAx0YN7A5xs5yG5eGPhBrS9ZX04NJjcZ6UBPywcznPxtrm2gyA3VdH/e+Qihj3MDmGDvLa9xk8Y64eMl6xNp7Ex6JiH2Dvw8P9hFb71isbaYJAMACGrcaunUfo3XvX3y8qqrjsfam0/XvU3gz1krzAACwgMZNFlcis+nlIPV8V4xK8bRp/dycV//Nv1rYQtX/zRV/NOtb2LQrL1/cvdlPnXln1rewaf/h3/15NalznfzWf1c0dr4R/2Xnvjsuu7ToXs68/W5R/51X7Cjq/8677xX179PKR67s3Hf1t+d6vJPtY5LjJiLitf/x39YREYfe/cPmWPo1mX6PSb9Xnjv//thz777y8qZ99tz5rd3oOqX3Mk/27r6iaZ8+W/b9gs3bytgZN0tYbTs4WCEdsZaCfj4i/mazNwAAwPwaN1l8M9ZFDQe7td8eye7pVZWdrK5s7fYAAJilcZPFY7G2Ijo13DPxL6qqejQivhFrk8e2fZX2x4U1IgFgbhw8+7mIiPj+Vf/QHLv31K1NO5cy7ZIGTlPPk05Jp9dctJR0+jpKSS+GcauhX4x1kcVBNPHbEfFwRLwUa/sqPRsRb7R8/p3RPokEAGABbBhZrOv62aqqVquqOpDuyD6o6dilruOBWCvTAwBzK40mPnndz5r2N8/8fmv/NIJ3+Y7RIrDz733Q2l+UsV0aTUwXjFkQNl/G1oaOteotD5WeeLjvorI/AACLq8tk8ZGIODAo/VfisegWfQQAYE6N3WCvruvVqqr+LCKOxFpFl7Gqqno4It5ct3k3AMyVDz78MCIidlw2ip189fXPNO0nbjrWtO858fHWc6Sp59KFL3t2jRZ4lO5R2ia9Zrpf5DztT5qTpp6lpOdLp92Y67p+fPDexZX1daIzjtd1fdfWbg0AgFnrXLqj5L2HdV0/vrnbAQBgnixunTegcd/7Xyjq/39c+Vznvl99+w/Hd0qkabUu+iwP2HfqrSQ9tm/PzqJzL3Ipy0Vy6SVr6ef33v+w9eNp6vmJq37UtA+988+bdq48YBfp1/+kV0mnX/+LnJK+Zu+upv3G6bdncTvbXpcFLgAAbFMiiwBsW20LXHJRxq+d/oOm/YPr/rFpf+XkLU17Kwsz+lz4kkYTF20vxjSaaOHLbIgsAgCQZbIIAECWNDQA216aer6kqpr2h3XdtC+9dHQ8TT0/9bFfNO2DJz81kfvpc+HLIpcHtBfjbIgsAgCQZbIIAECWNDQAJC5IPV/Svkr6gvKAvxmlnn9w06+a9j2/umki99O2SnoSK6Qjlqc84N7do9Xjp89O5rVhRGQRAIAsk0UAALKkoWEbKinhl5Y46yItg9aHkvRYSWnA0nOXKi0DpzzgdAzTzMPNudfLHc+WB0xSz09ef6xpP7D6e007Vx7w8h2XNu3z733Qev5JpZ/bLHJ5wDT1nI4d42IyRBYBAMgSWQRg2xpGDnN7K27FfW9+uml//7qfNe17XhktiMktzJh1ZC+9ZpeI5zxJo4n2YpwMkUUAALJMFgEAyJKGBmDby+2tmFvgUipNPT/1iV837a+/8jut/dM08KxL8qWp51mnx0spDzgZIosAAGSZLAIAkCUNDQCJNPW8lZR0rjzgvb9M9mK85ZWmffc/Xdd6njT1PExJzyIdHTFf6fFSbSlp6ehuRBYBAMgSWYQlUBrxSKMl4xw888+Kzv39q/6hqP+9528t6l+i9A34i1zxJX3zfhciKt2kY6t0L8Z0nOUqvqTRxCeTvRgfeGs0LnIVX2YtjSYu6sKX3D6XXEhkEQCALJNFAACypKEBoIPSvRhLF8p87Y3fa9pP/M6vmvbdP7+xae/bszMi5isdHXFh6nmYkl6EdHSaeh6+thHz9/rOmsgiAABZJosAAGRJQwNAodJV0l1S0ukmBWnq+en9J5v2/Sc+trkbnqJh+nnR9mFMU89KA15IZBEAgCyRRQDYgq0sfEkru+QqvnzlpRua9lOfeS0iIr78j/u2cMfTsQz7MEaIMkaILAIAsAGTRQAAsuYqDX1f9V/N+hY27fv13876Fjbtq2funPUtbNq1V+2e9S3MhfQN9l2Ulgcsce+psvJ9P9j990X9v/l+96/XNJXXxSKX+ypNj5WUB1zm1Ntw7HQp39dF6djKlQHMHR+mn5/Yd7Q59o23RyU500Ul6YKNy3dc2rTPv/fB2PuadBm8RUg956Rf/3t2jV6XM28v7veLUiKLAABkmSwCAJA1V2loAJimYfq5y16J8+Rrq7c17R9c/49N+yuv7m/auVW8XVLSaerZauCRNPW8ncoDiiwCAJBlsggAQJY0NADbXpp6XoSU9KWXju4xTT0/ddMvm/bXX9sfbdLU8+4rL2/aZ8+db+2fpp4nvUp6kW2n8oAiiwAAZIksAkBiEaKMudKA9/76E037yU++3LTvTkoGptJoYpc9BNNoYpeo5Hax7NFXkUUAALJMFgEAyJKGhiVQmh4rKQ/Yd+rtvnduL+r//av+U+e+paUH0/RRF4ucYip5E366n1wXy7Tn3LympNN7yZUGTFPPT15/rGkfeuu/aNpXJHsuli7MKE1hbxfp94Vl2YtRZBEAgCyTRQAAsqShAaCDeUpJp9e89JJR3OeDD9tT0l997Xeb9hM3/lPTvidZPb2VvQLT1PPw7RyL/DaNSUlTz4uckhZZBAAgS2QRAArNU5QxjSbmooxpxZc0mvj0p15t2ve/fNNE7mcYUVzG/Qa3Io0mLtprI7IIAECWySIAAFnS0ACwBYuQks6VB/zKzz/atJ/6zGtN+8v/uG/L95KmV+3DeKH0tdnKwqJpEVkEACDLZBEAgCxpaNiGStJjJaUBS8+9GSUl/NISZ12kZdAYKd0T7vp9Hynqf/LUb4v6z7PS/Q83q8u5c8dz5QHT1PNTn/h1037gN6PV02kKO02lXnn5aDpx7vz7F51b6jkvTT1fe9Xupv36W2dncTutRBYBAMgSWQSAHqSRvUkvfOnz3BER9/5ytOfik5880bTvfumGpp3bK3D3lZdHRMTZc+cnci/bSRpNHEYZ5yHCKLIIAECWySIAAFnS0ADQsz73YuxjUU1aHjBNPT/96Tea9sGfX9/6ucP08+U7Lm2OnX/vg03fy3Y1TD/Pw6IXkUUAALJMFgEAyJKGBoAp6nMvxly5v9Jzp3sxpue5+2fXNO2nf/c3o+P/dN1F50hTz8MV0hFWSZdqWyG9/njfRBYBAMgyWQQAIEsaGthQ6WrNNGXVRWl6rOT897356aJzf/+GsvKA97z8O0X9t4vS8n0fvbqsPOAymdeNu9OyfrnygGnqOS0PeN+vPx4RF5YATDftZvPS1HNaVjMdc31s0i6yCABAlsgiAMyBedqLMbfAJdc/LQ/41Kdfi4iIL//06ubYnl2j0oBn3hZlnIQ0mpiLMk6KyCIAAFkmiwAAZElDA8Cc6TMlXbrwJe2fW/iSlgccpp9/+Jk3m2Nfe+nifRiZnDT1fOM1e5r2K2+cmcj5RRYBAMgyWQQAIEsaGgDmWNtK5kmUBsyde6Pz51ZJp8eHqep70tKAv3+6aX/pR6OSdUxemnpOywNuhcgiAABZcxVZrJI32i6ar56/c9a3sGk/2P33s76FTfvGO5+f9S3MhfRN513kKjJMwqQiHpM4/weFt1JakeWJlR937nvo7X9WdO4dl11a1L9077q0usY4586/X3TuUr95c/L7wnU16Uhd3/q8z9Jzd4k+DqXRxCev+1nT/uaZ32/a6fex1d+eaz3e5XtXn3s6puOm73ExCWnFl60QWQQAIMtkEQCArLlKQwPANA1TqaWpTjbvq69/pmk/cdOxpn3PiY837b27R6nk02dHqeQuaeA09bzzih1N+51339vkHY+k15z0ueeZyCIAAFkmiwAAZElDA7Dtte0TuP44k5GWBkxTz0/vP9m07z/xsdbPTdPAl+8Y7Rhw/r0PWvun6eFJr5JOz71oq6RLiSwCAJBlsggAQJY0NAAkciXtFmXj7nmXS/nf+/OPNu0n9r/StO/+p+taz5OmnrukpNPU8+4rL4+IiLPnzne97Q2VpscXjcgiAABZIouwBErfhJ9GS8YRTck7ePqznfv+n9ccLTr3V177dFH/dF+6LtK968YpKQ0YsVxv8E+//kUZJyN9HXPfu9Jo4lMf+0XT/vrrtzTtYXQwIuKN028X3cMwothHacA0mrgsezGKLAIAkGWyCABAljQ0AHQgJT0Zpa/jva98smk/+cmXm/bdL93QtHPlAcdJU8+bPcdG0tTzIi98EVkEACDLZBEAgCxpaAAoJCU9GV1ex7Q8YJp6/uFn3mzaX3upfS/GEmnquY+UdOm+kPNEZBEAgCyRRQDYAlHGyci9julejGlE7p6fXdO0n/r0a037yz+9esv3kkYT0/0cJ1XxJY0mplVsSvfMnRaRRQAAskwWAQDIkoaGbagkPZamSLqY1zTKrJWW73vqxpeK+t/3+u8W9S9RWr4vTRV2sQhv8O8qHVuLkF6chUuq0YKVD+u6tU/ue1TuayVNPT/9qVeb9sETH2vau5LSe6u/PRcR3Z7RpFLPOel109Ka81Q2U2QRAIAsk0UAALKkoQGgB2l60SrpkTT13Mfr8pWff7RpP/mJE0377p/f2LRXPnJlRIzS0RHz8baBNPU8fDvHPLxNQ2QRAIAskUUA6JmFL+362KPygoovSTTxh7e+1bTvO3bx9Cd9FvPwjIYRxXmo9iKyCABAlskiAABZ0tAAMEUWvrRL//9d9mLMyaWT7/nJStN++vfXUtJf+tHuseeYdRo4veas7kVkEQCALJNFAACypKGBDZWuBEzTal0scuqt5N5LX5evvnpLUf8ffOznRf3vOfHxov4lStNjaYmz7aaP1cDLYCt7Mab9c9+/hunnpz7x6+bY11/5naa947JRuvfM2+92uOPpSMfWNEsDiiwCAJBlsggAQNb2jf0DwByRkm5Xukq6pP+9v7ypaT9165tN+8s/3tu0h6UBIy4sDzhraeq575S0yCIAAFkiiwAwZ0QZ25UufEn7t5XwS0sDptHEH952uml/7WejxS7zKo0m9lGqUGQRAIAsk0UAALKkoQFgjrWlpLd7OjqiPFXfVmYxVxowTUn/1R+cadpf+oddW7jj6ciVKtwKkUUAALJMFgEAyJqrNPQih9VLS3nNk4Nv/+Gsb2HTfrDvR7O+BdYpHceLXB4w3cNtnL7vu7R835PX/axz3wfeurXo3KWpr9Nn56ec2rwbfh0t8grpLnsllip9Ddr6Z0sDJqnnpz72i6b99ddHJTl3X3l5037j9NtNOx0LXcpg7t19RdOexLgoLb2Zs7gzHAAAejdXkUUAYLxF3ocxjSb2EWXs072vfLJpP/nJl5v23S/d0LT37BpFB8+8PYoOdqmykkYTh9HKs+fOb/6GJ0RkEQCALJNFAACypKEBYIFJSU9PWh4wTT3/8DNvNu37fn596+emqecuC1+G6edJL3rZDJFFAACyTBYBAMiShgaAJSEl3a+2koEREff87Jqm/dSnTzbtL//06tbzpKnncauk09RzbqV130QWAQDIElkEZqrPii99R1NKIh4l1V5Kz70ZX3vj9zr3/cFHjxWd+55ff6KofxotYXLSr/8dl43GTa5SyTyZ1yhjl2htGk18+pOvNO2DL9/ctNNoYsmilTSamFaN6XsvRpFFAACyTBYBAMiShgaAJZdbmLFoC19mfe/pNbukx+/95U1N+4n9v2nad//TdU17356dTfvUmXc630uaeu574YvIIgAAWSaLAABkSUMDwDayyHsxlqaB+9QlPZ5u3pCmntPygF97aXR8s9LUcx8paZFFAACyTBYBAMiShgaAbWqRU9LztHF3lw3Qc+UBn/7smab9pX/YteV7yaWkt0JkEQCALJFFYKGURDzS3/C76LMMWmm0Y57KA5aW73t6/8mi/vef+FhRf/qxLOUB+4yQdjl37vXK9U+jiX/12bNN+76frURExBU7Lm2Orf72XNPeecWOpv3Ou++1ntsCFwAAemeyCABAljQ0AHCBRS4P2OdejH0vCLrnx3ua9pO3ru3F+OX/PDq2d/dowcrps6MU8+VJqvr8ex9M5F5SIosAAGSZLAIAkCUNDQBk2YuxXR+vy6WXju5xmH7+qz883xw7+J/bp21p6rnLKulSIosAAGSJLAIAnSxblHFS+5NO6nVJI4TDvS7v/vvRopYf/ovRx//479rPkUYT04UvWyGyCABAlskiAABZ0tDA0iotU5amj7roM/XWd3nAknsvfV3u/flHi/o/+XtvFPVnPixDSnrSi14itva6pP3bvn+lqee/+oO3m/bBf9zbtNPUc7oX41aILAIAkGWyCABAljQ0ALAlbanXRUpHR/Sfku5y/pLX8e4f7W7aT//zUUr6S//x8qa9Z9cVMQkiiwAAZIksAgATM4yELeqil4h+ooyl5x++Zrm+abWXNJr4f/3L0QKXrz4/2pdxK0QWAQDIMlkEACBLGhoAmLhl2Icxov+U9LjXJtc33YcxPf6l/3d0/If/Yuv3GiGyCADABkwWAQDIquoJhVQBAFg+IosAAGSZLAIAkGWyCABAlskiAABZJosAAGSZLAIAkGWyCABAlskiAABZJosAAGSZLAIAkGWyCABAlskiAABZJosAAGSZLAIAkGWyCABAlskiAABZJosAAGSZLAIAkGWyuESqqjpcVdWxwZ/DVVWt9HSdA4NrnKqq6khf14FpmNa4Sa73cFVVtXHDopvm2Kmq6oGqql4Y/Hmsr+vQzmRxCVRVtVJV1bGIOFbX9S11Xd8SEcci4oWeBu8jg+vsG/z7L3u4BvRqBuMmBue9q49zw7RMe+xUVfVARDxU1/Udgz+PTPoabKyq63rW98AWVVV1OCKiruuH1h1/LCL213V9aILXOhARK3VdPz7490pEnKrruprUNWAapjlu1l3zmYg4EhH76rpenfQ1oG/THjuDiekdxsvsmCwugaqq6oi4pa7r4+uOr0QykRsMuMci4qGI2B8Rh+q6fnZC1/eDj4Uy7XFTVdX+iHimrutbjBkW2TTHTlVVt8faL1eHI+KbEbESEXetvzb9koZecIMfQNE2cIY/iAaDLSLi6lgb4HdExCODP1u9/gMR8aIfeiySGY2bw1v4XJgLMxg7+wd/jg/O81isTR6ZostmfQNM3XcHfz8ba4Nu+NvgX4z5vGN1XX8nPTD4vMfCe7BYflsaN4O3b1w9fPsGbCNb/ZlzdUSsDsfOYDwdrqpqRZBiekwWF1xd18erqoqqqva3pAT2D5rp8dWWc6zG5n7jOxJraQXpABbKDMbNoYjYP0jLDb1QVdUjJpAskhmMnTcj4vl1x1ZjMInseA62qNN7FofvtYmO7xOoquqZiDiyPhJFP9I3Gyfv77gj1n5zu72u67sG/U5FxKfqul4dPNMXhiuaO2xF8Fz6Q23wjB+p6/rFyf+PoH+zGDfJtb1nkYU1zbEziEK+lOy+YfzMQNfI4pFYmxgcj2gmCsfXr4RKHIqIl6qqelbUaSoeibUoxcN1XX+7qqrHI+KFWPvN61NdTlCyFUFVVcOvBxNFFtlUxw0skamNncFE8/mqqh4YTB4fjojHTRSna+wCl6qqHoyIKEmVDB7io+FNqFMxeL3viIhbBmmuB2Nt0H5n0gNqsKDlgYj4m8Gm3MM/K5O8DvRtmuMGlskMxs6hiHhocK27IuLPergGGxibhq6q6oWIOJymlDtEFpsl9NGyvJ7+DUL+x2LtrQNb3h4HtgPjBjbH2FluG0YWBw//9oj4XumJB79dvBhrUSimbDBBvyXW3hwMdGDcwOYYO8ttXBr6QKwtWV9t+djVSV3IU8N09TrPxtommsxAXdfHva8Qyhg3sDnGzvIaN1m8Iy5esj50IAYrpCPiOxFxONmIc+hYrG2mCQDAAho3WdxoH6Pv1XX9+OA3iUdiLeW8/j2Mb8ZaaR4AABbQuK1zVqL7ppfPxlq0MdX1cyMi4jf//aGFLVR9/+X/9axvYdMuvbSa9S1s2o3X7J31LWza9/6nfzWxF7507Bza+cXOfT/8sOxebrxmT1H/X79+uqj/hwX17G+6tuzr4+XCe9lxWfeKqe+9X/hC9ux3bljp3PeXr672dh+l/sO/+/OJfsMajp2DO/6oOZY+1xv2jb6eXz11pmmnzzN9LdPX6tJLRuf5oMNAuvm6q5r2idfe2rDvJdXoZSgZE12lY6d0XIyTvr7zNi7GyT3rRbCVsTPuO91qwblWNnsTAADMp3GTxY3SyFev+/fn4+L3N+Y+FwCABTAuDX0sLk4tDx0YLGhZjbXd3G+PtY0zU/vjwhqRADA3vn7F2lsyvv/u3zTHHr3tT5r2iz99uWmnKdM0lZqmI7eSkk5Tz+NS0mnquY+UdJp6nnRKOvc6LkJKusuzXkbjJosvRvtq5uODP38Ra5PJN6O9bvSdsfZeRgAAFtCGk8W6rp+tqmq1qqoD6Y7sG1VuWedAXBxtBABgQYyLLEasVW95KAojhFVVHYhYm3Bu4r4AoHf79uyMiIhvXXdfc+x/+f/+96adrpK+89abm/ZzR0807VxKOpWmnqWkR6SkF0OXfR8eibX3J5Zurv3Y4HMBAFhQYyeLg1J/fxYRR7qetKqqhyPizbquv7P5WwMAYNa6pKGjruvHB+9dXMnUiV7veF3Xd23t1gCgX6+/dTYiIq6N3c2xtMjC98//30374NGylHQulTqJlHRu024p6dlY9pR0p8liRNl7D+u6fnxztwMAwDzpPFkE5teD199b1P/IySc69330c38yvlPi+Z+8PL5TojTikUZLximNdvRZHrCkNGBE/9GUkohHSWnA0nPP2vX7PhIRESdP/bY5lv5/D746iiZ+/73/Z3T86PjygDddN/p6+rsf/6r1+luJMo4jyjgbyxhlLPvuBQDAtmKyCABAljQ0ANvWMP08TEdH5NOI959sX/iSKw+Ypoy/cNvHm/akUtIlZpGSnkQ6OkJKeh6ILAIAkGWyCABAljQ0ANteuho6l5K+Zu+upv2tnePLA6bS1PN2SUlPeoV0xIWp50m/Ln1b5JS0yCIAAFkiiwCQSKOM1141quwyrPayXrbiS49RxklF0vqMMva5D2NEv9HXvi1alFFkEQCALJNFAACypKFhCZw7/15R/2/dfN/4TgPpm/e7OLTzi0X9v3DbJ4r6/+2PftG5b0lpwIjJpcfalO4JN0/lAUtTY4tUHnDv7isiIuL02XdbP56mnrukC9PU8wXlAXe0lwd8+bXTrcfT59l23X/52dG4KRkTG5lWSroPaerZXoyTJ7IIAECWySIAAFnS0ABsW8P08zAdnR5brzRdmFslnSsPmCtr13bdNPW8aCnpvi1becB5SEeLLAIAkCWyCMC2l0YTJxVl3LdnZ9PuUvHlzltvbtrPHT3RtHNRxiFRxrxlqPgyD4teRBYBAMgyWQQAIEsaGgASfaSkU9nygEe7p6RzizWkpPP6LJvYp3nYh1FkEQCALJNFAACypKFhCeTSY5Pw4PX3FvU/cvKJov4Hf/RH4zsl0tTaOKWpt9LygH2m3kr3hEtXenbRZ/qt7/KA07SVlPT1+z7StE+e+m3TTv+/B1/NlAc82l4e8IZ9eyIi4sRrb429dynpvOHX/6KukI6YbkpaZBEAgCyTRQAAsqShAaCD0pR0mnpOU9K5VOL9J8vKA5aYRUp6kdLREVLSGxFZBAAgS2QRAAql0cQ9u0ZRxjNvj48yXnvV7qadRoGu2buraXcpD7hZ04oyLuqilwhRxvVEFgEAyDJZBAAgSxoaALYgTT13SUm//tbZpp2mpNPjqbbygJNIR0f0m5Jehn0YI5YnJb0VIosAAGSZLAIAkDVXaeh/veePZ30Lm/bvz/z1rG9h0779h//trG9h0577ya9mfQtzYfeVlxf1LykPmK7Q7KI0PZaWOOvi0E++2LlvaQm8G6/ZU9S/JMUzqZWmOaXpsbSE3DilpQdL9V2qbCPDsXP23PmJnC9NPX/qxn1N+6VXTrX2z6We3zj9duvx4fi6oDTgjo1LA0ZEvHrqTNNOn2f6NZx+jZamXm++7qqm3VaKME0997ECu0/p/z99ffseF5NgNTQAAL2bq8giAEzTMKKYRucnFWVMo4ldoowl2ha9ROSrvaRRsDQ61mV/vi5RxjSaOIwytkUYI/rf57FPuddxEaKMWyGyCABAlskiAABZ0tAAbHtp6nkRUtL79uxs2l1KA955681N+7mjJ5p2LiWdKt1zcJh+HrfoJWJ5UtKLthdjKZFFAACyTBYBAMiShgaAxCKkpHP7MOZWSR88WpaSzq3uLUlJt62QXn88tcgp6UUuD9iFyCIAAFkmiwAAZElDwxIoTY+VlAcsXa2ZptW6ePDcvUX9j5x8onPfRz/3J+M7JZ7/ycvjOyVy6bQ2aVqti75TbyWbCJeUBiw997yb15T09fs+0rRPnvpt00431j746ij1fEF5wKPjywPedN3epv13P24vq7rZlHQXUtLzRWQRAIAskUUA6CCNJu68YkfTfufd9yZy/pIoYxpNTKOMufJ9958sKw+YRgK/cNvHm3ZJlHFSkTRRxtkTWQQAIMtkEQCALGloACiUpp7nKSV97VW7m3aakr5m766m3aU8YCpNPZekpPtIu0pJz4bIIgAAWSaLAABkSUMDwBbMIiWd24fx9bfONu00JZ0eT2XLA04gJd132lVKenpEFgEAyBJZhG2opPpESbWXiPKKL3t3X1HU/1s33ze+00D65v0uDu38YlH/DwqCAKXRjnmq+FJakWU7V3xJo4l9VnxJx83ps++29k2jiemei+nCl1QaTbyg4suO9oovL792uvX48Hl2ueakLEuUse11nAciiwAAZJksAgCQJQ0NAD1IU8+TTkmnqecuKelcGcBceji38CVXHjBNmQ5TqaXXnJRFTkmnr+OkyyZuhcgiAABZJosAAGRJQwNAz9LU86T3YuwjJb1vz86m3aU84J233ty0nzt6IiIuXNnbd+o5Z5FT0n2WTSwlsggAQJbIIgBMUZ8VX9Jo4p5doyjjmbf7Xfhy8OjFUcZhhDFiPvYPbIsyLlKEMWJ2UUaRRQAAskwWAQDIkoYGNlS6J1yaVusi9yb8SXjw+nuL+h85+URR//QN/pO2ncoDpqm17abPlHSaei5NSV971e6mnSsbePDVTHnAQUo6fa437NvTtE+89laX2+/V8Ot/URe9REw3Jb19RygAAGOZLAIAkCUNDQBzYJ5S0mnqOU1J51ZP33/y4lXSj35uVBrw+Z+MSgPOk2XYhzGi/5S0yCIAAFkmiwAAZElDA8CcWbSU9AXlAXetlQfMlQacV1LSeSKLAABkiSwCwBxrizJOIsIYMbkoY3p8KFsaUJSxV7ko41aILAIAkGWyCABA1lyloUvLhM2T/2Hl/lnfwqb9z//xf5v1LWxamubYzq7Zu6uo/xun3+7pTsrTY5/46L6i/r/4zanOfUtLCZamx9ISZ+Mc2vnFonOXvi89XWzQxSVV1f1e6rro3Dddu7eo/8uvny7qP0nDsdPnmJik4fhKx03JmNhILvWc05Z6jog4deadi46lY+uC0oDJ8R2XtZcHfPXUmaadlpJM93lMv/5LFnjcfN1VTTtXhjBNPafjpnRcdJGOnUmMCwtcAADonckiAABZc5WGBoBpGqaf07dyLEJKOk0995GS7lNulfSjt43KA77401F5wDT1nKaqc6UHS1LSaeq5S0o6TT33kZJOU8/DlPQs36YxJLIIAECWyCIA214aTRRl7NcF1V523te0cxVf7rz15qb93NETTTsXZUyVVDaZ1yjjpBe9bIbIIgAAWSaLAABkSUMDQEJKul+51zFbHvBoWUo6XRCTaktJ5/YhnKeUdNuil/XH+yayCABAlskiAABZ0tCwBErTYyXlAftOvZWmx0rKA/adenvw+ns79z1y8omicz/6uT8Z3ynx/E9eHt8pUZIeKykNGFGeHistDzhNUtKTd/2+jzTtk6d+27TTvRIPvpopD3h0fHnAm64bfT393Y9/1XoPw/Rzl9KAudRzzjKmpEUWAQDIElkEgA5EGScjjSZee9Xupp2ryHL/yfEVX9LIehoJ/MJtH2/abVHGkn0YN2NZoowiiwAAZJksAgCQJQ0NAIXS1HNavu7UmXdmcTtF5ikl/fpbZ5t2LiWdpvy7lAdMpalnKenNE1kEACDLZBEAgCxpaADYgjT1LCW9ebmUdHo8TdlmywMWpKTH7cMYsTwp6a0QWQQAIMtkEQCALGlo2IZKNhEuKQ1Yeu7NKEmPlZQGLD13RMS58+917vutm+8b3ymRrvTs4tDOLxb1/8Jtn+jc929/9Iuic/ddHnCepalnG3e327v7iqZ9+uy7rX3S1HO6QXe6SjqVpp4vKA+4o7084Muvnb7o2Hvvj1LMuWv+y8+Oxk3puMiZVkp6K0QWAQDIElkEgB4oD9gujSZ2iTLmygDmooy5hS9pecAXf7pWHjCNJqZRxtw102jitKKMk4gwbpXIIgAAWSaLAABkSUMDQM+UB2yXpp737BqlpM+8vfmUdPr6jisPeOetNzfHnjt6omnnUtKpaaWkJ73oZTNEFgEAyDJZBAAgSxoaAKZIecB2aep5UinpVNsq6YNHR/swdklJp6unU32mpPvch7ErkUUAALJEFoENle4Jl0ZKuugzmlIa7eiz4ktpEOBPr/1KUf8jrz9Z1P/gj/5ofKeBNFLSRd8VX5aJKGO7rUQZr71qd9POVYI5+Ora1/8F1V6SKOOll4xiaTfs29O0T7z21th7X8Yoo8giAABZJosAAGRJQwPAHFi2lPQk0tER5SnpNPWcpqTbFsTcfzJTGvBzo9KAz//k5fKbHliWlLTIIgAAWSaLAABkSUMDwJxZhpT0pFdIR0w+JX1BacBdG5cG3KpFTkmLLAIAkCWyCABzrC3KuEgRxoj5izJes3dXROT3kW2r9hKx2FHGrRBZBAAgy2QRAICsuUpDpyHiRVNPsaD3pP3rPX8861vYtH9/5q9nfQtb8G9nfQO9KE2PDdNBXZWWHyxRmh7bfeXlnfvmUmM5195Y9rqUpsfSMmfjHPrJF4vOnZZK6+LGa/aM70REjMZXOm76HBOTko6tdNycPXd+IudPx9enbhylvF96pX1Mt71mue9d6di6oDxgcnzHZe3lAV89daZpv/f+h007LT2Ypp7TsfPBh6P+bW6+7qqmnStDaIELAAC9M1kEACBrrtLQAMB4aRp10VLSaeq5j5R0mnrukpIukVsl/ehto/KAL/50VB4wTT2nqeq20oPrjw9T0rl0dJp67pKS3gqRRQAAskwWAQDIkoYGgAWWpp4XrTRgmnreecWOpv3Ou+9N5PyTTklfUB5w5/jygHfeenPTfu7oiaadS0mnhunnLiuk+05JiywCAJAlsggAS6KtNOD64/MqjSZOK8pYGmEsLg94tCzKmC6IGUqjiVuJMm6FyCIAAFkmiwAAZElDAzNVui9cSXnAvvecK9kXLk2rdVGaHkvfvN/Fn779lc59j7z+ZNG5H/3cn4zvlHj+Jy+P70QxKem84fgqXfRy7VW7m3ZaojjdK/Hgq5nygElKOk0np+UBb7pub9P+ux//6qLrbyUlvRUiiwAAZJksAgCQJQ0NAEtOSrpd6T6Maeo5TUnnyvfdfzJTHjB5q0b6Now0bfyF2z4eEe3p6IjylPRWiCwCAJAlsggA24goY7s+oowXVHzZNb7iS2oYURxGGNNj6/UdZRRZBAAgy2QRAIAsaWgA2KakpNtNKiWdHk9lywO2pKTT1PNWUtJbIbIIAECWySIAAFnS0MBCKSnhV1IasPTcpUpTY32XB9y7+4rOfb91833jOyXSlZ5dHNr5xaL+9CNNPadjp++ymZMwrZR0Om5On323tX+uDGC6SjqVpp4vKA84OJ6mkl9+7XTT3nHZ6Ph7749Sz12uWUpkEQCALJNFAACypKEBgAukqWerpEfS1POeXaOU9Jm321PSuTKAufRw2yrpXGnAdNVzmpLOXXMrRBYBAMgSWQQAsuzF2C6NJk4qynjVR65s2sPygLnSgHfeenPTfu7oiaadizJuhcgiAABZJosAAGRJQwMAnSxbSnoS6eiIflLSQ9nSgEfLUtJbIbIIAECWySIAAFnS0MDSKi1TlqbVuugz9dZ3ecBcqbI2dV106vjTa79S1P/I608W9P43ZTdDb5YhJT3pFdIRW0tJX3vV7qY9LBuYpqkPvpopDZikpNPygDfs21Nw53kiiwAAZIksAgBb0hZlXKQIY8R8RBmH0cSIUZQxtxjm/pPtC19yFV+2QmQRAIAsk0UAALKkoQGAiRmmnxd10UvEfKWkr9m7qzmWpqTT13dYGjAiXx5wK0QWAQDIMlkEACBLGhoAmLg09bzykSub9upvz83idorMU0o63S82TUnn9pHNlQeM+PPN3GpEiCwCALCBqi7dmh8AgG1DZBEAgCyTRQAAskwWAQDIMlkEACDLZBEAgCyTRQAAskwWAQDIMlkEACDLZBEAgCyTRQAAskwWAQDIMlkEACDLZBEAgCyTRQAAskwWAQDIMlkEACDLZBEAgCyTRQAAskwWAQDIMlkEACDLZBEAgCyTRQAAskwWAQDIMlkEACDLZBEAgCyTRQAAskwWAQDIMlkEACDLZBEAgCyTRQAAskwWAQDIMlkEACDrslnfQETEysdvq98/dzaiuvhjLYeSg9XYPq0fa/u8Da998cnazzv4WJXvtcGHLr5e+6Wzn1ht3GvMtav1B9qaF39etcFHt/gM2p/rBs/84m6tZ+v2DC4+0YavQ2unqr1Py8lae/b89Tb6UP6F2OyzHz+2Sr7eysZD1XLxjb+PtP2zavuru7re6IOtzWy/1j4bfSx/nfbuHa6z4aEuffJXX/vQhv+R7n1a+rXfSt/PZ5Lnqjf8Z/Zgc8qNXveu1+lyjk1ep7X/xX3qltbEns/YW+rv+XQ9V7fn2O0Z/Kc3Tv11Xddfyne+2FxMFt8/dzY++/VH4pLhRCD5bn/JIPZ5wbF1/S65oP/wY3HRx9b3r1o+75L051KH/qM+o8+76P4uyd9D271Wl1z8f229h+EPskvaztny2lTrXpsN7qvt9S59FlXLa9qt/4X3ecE9bPAatb42G36NbO1ZXHiOyPZvv86Fr+m4Z7e+f+vz2eDZVR2vs/7/XToeNnp2G4+fDZ5d56/Tlv/jRffVbTx0eXZV8wMk/Y5eD/76cHTsw3X90o81/Qcf+/Dij7V9Xr3+nOnHm3Nd/LF6/TnTz/uw5Tpt/T9cd53kY/VF59rg/tLPW3/OC/qtO+cF99Xyeev+H/VG52y517rl+bS9Nuv/H/VGz67lXuuW57PR/V30f267v7brdHx2F71eG97f5p/dRa9z2+e1nLP1/7/B2Lro/7HBsysfWxuMkdKvrR7G1oZfWxFx4//6+LVRSBoaAIAsk0UAALJMFgEAyDJZBAAgy2QRAIAsk0UAALJMFgEAyDJZBAAgy2QRAIAsk0UAALJMFgEAyDJZBAAgy2QRAICsqq7rWd9DVFX1o4g4N+v7oFfXRsTrs74JeuUZLz/PePl5xsvvyrquP1vyCZf1dSeFztV1/flZ3wT9qarqec94uXnGy88zXn6e8fKrqur50s+RhgYAIMtkEQCArHmZLH5n1jdA7zzj5ecZLz/PePl5xsuv+BnPxQIXAADm07xEFgEAmEMmiwAAZE1165yqqh6IiNWI2F/X9UU583EfZ/5t9AyrqlqJiP2DP3fWdf3I1G+QLes6TquqeswzXkwdvlffHmvjOOq6fny6d8ck+Hm8/AbP8KG6ru/a4OOr0eEZTy2yOLipqOv62cG/D5R8nPnX4Rl+IyI+P/zhUlXVg9O9Q7aq6zgdHN8/xVtjQjo+478YjOOrq6rynBdMh5/HByLi+ODjxwe/HLBgNvpFrnTONc009J0RcXzQPh4R67/4xn2c+bfhM6zr+jvJby/7k74sjrHjdDB58GwX14bPePBL3nNVVe0fjGnPevGMG8fPR8SRYQS5rusXp3lzTEXRnGuak8WVdf++pvDjzL+Vdf9ufYaDycSbw99oWCgr6/7d9oz3m0AstJV1/17/jG8ZHHuzqqrDg7eXsFhW1v37gmdc1/VqRByOiCMRccd0bokpW1n37w3nXNOcLK5GxNVb+DjzbzW6PcMH6rp+qOd7oR+rscEzrqrqgF8CFt5qjB/HxwYTihciwttJFs9qjBnHEfFsXde3RMTqMGXJUlmNgjnXNCeLz8VoJrs/Ip4p/Djzb+wzrKrqgbquvz1oe6vB4hn3jN+squrA4IfLfs94IXX5Xj20Ems/dFgs457x7Unq+dEQyFlGRXOuqU0WB2+03D/4jWUleVPlMxt9nMUx7hkPjj9WVdULVVW9EL4BLZwO4/jFwbGr4+I0Bwug4/fqleEb4q2UXTzjnnFEfKeqqgcHH/+GZ7yYBs/v82lkeLNzLhVcAADIsik3AABZJosAAGSZLAIAkGWyCABAlskisBSqqjrSVkKyqqrHcvvEVVW1MliZP4nrP1BV1bHhav/NbBs0yfsBmBSTRWBZfDciDrUcf2CjGqmTMKhK9FhE3FHX9R0R8cWw/yCwJEwWgaUwmBB+Pi0/N4juTaOu7f6IeHFQ1STqul5V8hBYFiaLwDL5XkR8I/n3Q7EWcYyqqp4Z/HmhrZ7x+hRwVVXHkvbDg897JlML+fmIODDot7/l3A8m6emHu9xPx+sC9M5kEVgmR2Jtgjh0YJiCruv6rrqu74qIw7GWMu5kEJ28a5BefqjtcwcRxTsi4s6IOJZO7gaf/1Bd18MU9Xe63E+X6wJMw2WzvgGASanr+tmqqvYPJmqfj4imhNUg4ncgIu4qPO03I+LqqqqODP59UeRwcO3jMXjPZFVVwwngQ4PP/27Sb7Xj/XS6LkDfTBaBZfO9iHgwIm6JtUjjMEr3lxHxZxFxPC6MPnbxaOEimceG125TcD+l1wWYOGloYNkcjrWo3Ofruh5GFj8fEd+t6/rF2DhCtxKx9v7FpN93I5nMZd6TeKCqqgPJoYdiFNX87uB+0s/vcj9jrwswDSKLwFKp6/rFwWTv2eTw9yLihaqq7oq1LW3ebPm81aqqXqyq6plYW0H9YnK+I4PjERHPRMS313368Yh4ZJB+joh4tq7rh5LPP5wsnnk2Ih7tcD9drgvQu6qu61nfAwAAc0oaGgCALJNFAACyTBYBAMgyWQQAIMtkEQCALJNFAACyTBYBAMgyWQQAIOv/BzQqPimiPyibAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 864x504 with 7 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "nt=\"sm real matrix\" \n",
    "def ind_T(qn,measure_error_dict):\n",
    "    T=1.0\n",
    "    for q_idx,measure_error in measure_error_dict.items():\n",
    "        p0=measure_error*0.4\n",
    "        p1=measure_error*1.6 \n",
    "        prob_matrix=np.array([[1-p0,p1],[p0,1-p1]])    \n",
    "        T=np.kron(T,prob_matrix)\n",
    "    return T\n",
    "\n",
    "def corr_T(qn,corr_dict):\n",
    "    T=np.zeros((2**qn,2**qn))\n",
    "    I=np.eye(2)\n",
    "    for (q1,q2),error_matrix in corr_dict.items():\n",
    "        corr_T=1.0\n",
    "        for i in range(qn):\n",
    "            if i==q1:\n",
    "                corr_T=np.kron(corr_T,error_matrix)\n",
    "            elif i==q2:\n",
    "                pass\n",
    "            else:\n",
    "                corr_T=np.kron(corr_T,I)\n",
    "        T=T+corr_T\n",
    "    return T\n",
    "\n",
    "def manual_T(qn,seed=0):\n",
    "    corr_mean=0.08\n",
    "    corr_std=0.005\n",
    "    ind_mean=0.015 \n",
    "    ind_std=0.01  \n",
    "    measure_error_dict=random_MER_ind(qn,ind_mean,ind_std,seed=seed)\n",
    "    corr_dict=random_MER_corr(qn,corr_mean,corr_std,seed=seed)\n",
    "\n",
    "    indT=ind_T(qn,measure_error_dict)\n",
    "    corrT=corr_T(qn,corr_dict)\n",
    "\n",
    "    return (indT+corrT).T\n",
    "\n",
    "fig=plt.figure(figsize=(12,7))\n",
    "gs=gridspec.GridSpec(2,20)  \n",
    "ax1=fig.add_subplot(gs[0,:6])\n",
    "ax2=fig.add_subplot(gs[0,6:12]) \n",
    "ax3=fig.add_subplot(gs[0,12:18]) \n",
    "\n",
    "ax4=fig.add_subplot(gs[1,:6])\n",
    "ax5=fig.add_subplot(gs[1,6:12]) \n",
    "ax6=fig.add_subplot(gs[1,12:18]) \n",
    "\n",
    "def sm_subfig1(fig,a1,a2,a3,T1,T2,T3,cbar_flag=False):\n",
    "    white_hex=\"#FFFFFF\"\n",
    "    red_hex=get_fushi_colors(7)[0]\n",
    "    blue_hex=get_fushi_colors(7)[1]\n",
    "\n",
    "    # vmin=min(T1.min(),T2.min(),T3.min())\n",
    "    # vmax=max(T1.max(),T2.max(),T3.max())\n",
    "    vmin=0\n",
    "    vmax=1\n",
    "    norm=Normalize(vmin,vmax)\n",
    "    custom_cmap=LinearSegmentedColormap.from_list(\n",
    "        \"custom_red_white_blue\", \n",
    "        [red_hex,white_hex,blue_hex],\n",
    "        N=256 \n",
    "    )\n",
    "\n",
    "    sns.heatmap(T1,ax=a1,cmap=custom_cmap,norm=norm,cbar=False)\n",
    "    sns.heatmap(T2,ax=a2,cmap=custom_cmap,norm=norm,cbar=False)\n",
    "    sns.heatmap(T3,ax=a3,cmap=custom_cmap,norm=norm,cbar=False)\n",
    "    a1.set_xticks([])\n",
    "    a1.set_yticks([])\n",
    "    a2.set_xticks([])\n",
    "    a2.set_yticks([])\n",
    "    a3.set_xticks([])\n",
    "    a3.set_yticks([])\n",
    "    a1.set_title('Qn=2',fontname='Arial',fontsize=base_fontsize-2)\n",
    "    a2.set_title('Qn=4',fontname='Arial',fontsize=base_fontsize-2)\n",
    "    a3.set_title('Qn=6',fontname='Arial',fontsize=base_fontsize-2)\n",
    "\n",
    "    if cbar_flag:\n",
    "        cbar_ax=fig.add_axes([0.122, 0.03, 0.7, 0.03]) \n",
    "        sm=plt.cm.ScalarMappable(cmap=custom_cmap,norm=norm)\n",
    "        sm.set_array([])\n",
    "        cbar=fig.colorbar(sm,cax=cbar_ax,orientation='horizontal')\n",
    "        cbar.set_label('Value Scale',fontsize=12)\n",
    "\n",
    "\n",
    "T1,_=read_T_cali(2)\n",
    "T2,_=read_T_cali(4)\n",
    "T3,_=read_T_cali(6)\n",
    "sm_subfig1(fig,ax1,ax2,ax3,T1,T2,T3)\n",
    "\n",
    "T1=manual_T(2)\n",
    "T2=manual_T(4)\n",
    "T3=manual_T(6)\n",
    "sm_subfig1(fig,ax4,ax5,ax6,T1,T2,T3,cbar_flag=True)\n",
    "\n",
    "check_ax_detail(ax1,\"(a)\",\"\",\"\",[],\"\",[],[],[],\"\",[],[],base_fontsize,label_loc=[-0.15,1.05])\n",
    "check_ax_detail(ax4,\"(b)\",\"\",\"\",[],\"\",[],[],[],\"\",[],[],base_fontsize,label_loc=[-0.15,1.05])\n",
    "\n",
    "fig.subplots_adjust(wspace=1.25,hspace=0.2) \n",
    "plt.savefig(\"../paints/sm1.pdf\", dpi=800, format=\"pdf\", bbox_inches='tight')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAawAAADQCAYAAABbX1WiAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAAsTAAALEwEAmpwYAABEQ0lEQVR4nO29WXAcR5qg+XlE5IE7AQIECZIgCVCiREklCYSqWlV91EFOT3Wvqi+xq212usZ2d0Tuju3Y2tjaSl1P27M2Zmr2PKzty/SKtTsvbWvbGtZuH9qe7mqyqroOlaokkrpISTwAEgQIEiSOxJlXRPg+eGQikUgACSABZAL/Z5YWGREeHh4e/vvv/vsf7kprjSAIgiBUOtZWJ0AQBEEQSkEUliAIglAViMISBEEQqgJRWIIgCEJVIApLEARBqApEYQmCIAhVQckKSyl1opzhBGEnsRq5EBkShOKUpLCUUm8AsRLjPKmUOr3mFAnCNqNQfpRSl5VSLy9ziciQIBTBWSlAIFhdWuvvlhKh1vo1pVSfUuqS1vrKulMoCFXMauUHRIYEYSlK6WGdBV5bZbxngW+vPjmCsO1Yi/xkrxMZEoQ81HJTMymleoDva62bVx2xUhpo1lrH1548QahelpIfpdRl4PWVel0iQ4KwkJV6WCeAi4UHlVKvBiaLicAe31Xk2ivB9YKwUykqPwEvKKUuKKV0sI0VCSMyJAh5rKSwXgD6ixzvB44HLceLwPklwrywvuQJQlWzlPwAdAGngGzvS2RIEFZgJYUVA8YKD2qtv5tnpngD6Cly7TilexYKwnYkRhH5CXhTax0P5OgMxXtSIkOCkMdKXoItQLzwYGACfI3lzRVxTCsy/7qXgJcaGhpeefzxx1eVUEGoJi5fvjwK3KWI/BSite5XSqGU6tJa5/fI4uTJkMiPsBO4fPnyqNa6rdi5lRTWohZeYGu/DJzSWp8JlFdfkWtjwfU5tNZvAW/19va+cunSpZISLwjViFJqAJhg6R5SS17YLjCKqyBMjDwZEvkRdgKB7BRlJZNgP7Cr4FhX3jmApT6AXEqRCcJOoZj8ZDkJuQbgeeBckTAiQ4KQx0oK6zIF41PBh4wXgT6lVB9GIIsNLHdhvJwEYaeySH4C+oH+wL39NtCvtT5TJJzIkCDksZJJ8CLmA8YFaK1PFRxa8GFkYOLo0lov5dIrCDuBUuVnESJDgrCYZXtYgU390hrmNXsZ+NM1p0oQtgHrkB8QGRKERaw4lyCm97SUjX0RgU3+DHB87ckShG3DquQHRIYEYSlWnEswGLN6LZhxuhS+g/EgjBeeUEq9pJQ6Nzk5ubpUCkKVsgb5gSVkSORH2OksO5fgRtHb26vFLVeoKhJDkBqF5APQHtR0AAoirVCzf1FwpdRlrXXvRiRF5EfYziwnO6WYBAVBcBpg8hqM/wLwYXY31B+BusNbnTJB2DGUvOKwIOxYtAdjP4eZm6B90BrQZn/s5+a8IAgbjigsQViJ1COYuWUUk58ALwEEpvSZW+a8IAgbjpgEBWEl3AR4c5CZMD0sKwyo4KQOFJggCBuNKCxBWA4/bXpQ6ThYDtg2qHzDhAK7ZqtSJwg7ClFYgrAUyfswcgGwofl5s58eXRim/ghEik4sLQhCmRGFJQiFaA8mLpmf0wC7vwpOrXGwGB8HfEAZZbXrl0DZW51iQdgRiMIShHwycdOrSo5Aw1Fo+zUzZpUYgmg7dHzDmAmz41juNISatjrVgrAjEIUlCGBc1ac/hdEfmx7Tnl+H+sfmz9fsL/qBsCAIm8emKqzsiqlHjhzZzNsKwvJ4CXj0Q5jph5p90H4SnPqtTtUiRH6Enc6mfoeltX5La326qUlMKEKFMHcXBv8CZu9A65eg47crUlmByI8giElQ2Jn4Loy/A/EPIdwMe18y8wIKglCxiMISdh6pURj5B0iPQ9PnYNcXzTdWgiBUNCKlws5Ba5j8EMZ+BnYU9v4XUHdoq1MlCEKJiMISth/aM7NTuAlwasyHvV4CHn4f5gbNDOu7vwJ27VanVBCEVSAKS9hezA7AxHsQfx/wwWmE2oPGkSJ53yiqhmOg1IpRCYJQWYjCErYP2oPpz8wii5ZjTIDahcmPoekp2P8HEI5tdSoFQVgjorCE7UN2GRAwystLgc5AqMFMXusntzR5giCsD1FYwvbBTQC+mS7JSwAWhFvBipjzsgyIIFQ1orCE6qSYYwUKUmPgp0CFzHx/WWW13ZcBSQwZd/3kA5M3NR2AMt+W7dQppcqdJ6uJr1j53OhJksvxvBtVjsoUrygsofrITAZL1t8it/JvdK/5ALjuMKQfmV5WPtt9GRCnASavwfgvAB9md5tnrju81SnbOsqdJ6XGt6h85s3sv5ETJZfjeTeqHJUp3k2dmkkQ1o324NGPIH4ZkkOm5Za8B+M/h8Qw7PkNaHyG+aKtzCS223kZEO0FFeRNzNInANrsj/3cnN9plDtPSo2vsHwm74E7afYf/Wjj3kU5nnejylEZ45UellBdpB6Zb6mcRnBnjFOFCpveU2YS8KD9hPnGSmeg8djmmGO2knxnEy8J2gf/vtlPjoByIDFo9nPu/AXbBW7+Rf4vdV3Rawv21RJx5q4tdk7lbZaKc5n0OE0w8S6gjfMNQGbcbCfehVAM3ClKxmksLT6n0XycjjZeqmA8VcEcj7Sv7r5rTp82M7mgzRpuTr1ZfFT7Qdp8wA/S6Jv9aAeMvR2Un+AZ/Qcma1MPjYk9OYzJfyvYKsDKe4/Zc3nHwi0w/i6oIG35K3bP3ILYsxDdU9pjliWzAKXUeSAG9Gutz6z2enekDy8+jD96F+272G2HQSnsWAdOe3e5kilUO24CdBrSE8FYlW0qAWUD2tjJ5wbADgNh839uwMzCXqFjOeuVHeNsotFODC/UDJkMhGuwrVFUZtzM6lG7P7Ce6rwLC/7rYud03qbwvM47VBB+xTiDaxedz9tfNj1L3C+Hmq90sy14Pz1/2o2b8ZRSifqlxVdquHJT7L46E5xUxkPWz8wrGCvEIuViOcEUZWpeydoRcvmqHKN8su81q/zI+6/94P55ytAKG5nVeWnLoVflDFUWhaWUOg28orWOK6XeUEqd0FpfXFUctTF03y9If/w90D5+y36cA59DdRwrRxKF7YCXMq3EVLBMvRU1QpTrPQWDuNGntyyJq6UcsoNTg8tuMjf7cG9fMpWGE8HpfJbQ4aM49d0lt2C3DckHMH0T09N4ZI6Fs2OYCpqehfZfX2V8t1aOr9Rw5Wal+zY+tXIZSD6A+EcmjqzCCjXPx9Hw2NrKUfIBTN9YmLYcq3OGKssYltb6nNY6Huz2YVqLpV/vuWQ+/h7u3Q9MRmkf7btk7n5A5uPvoT23HMkUqhWtYfo6DP5fpuA3PWtW/7WchZaiKnSsWK/sAGinBXfoId7QVUCDUijLxhu6ijv0EO20lDHFVUKkzZSHYqylnJQaX7nvW+70bXQcS8Trh/fhZRQZ9xDpxH7cTBteRuGH960q3o0YwzoJnCo8GLQkTwN0dnYuOOfF7+EOfgSAzqTATeM/ug1AanQAbAdvdAAViqKcMISjKCeCCkUhFEE52W3esfzjoSjYIZRMx1NWtOfixe9Bcgai9dixfSi7zEUqPW4GqxP3ILob2r5sTGAT74E7C2jjEVj/GDQ8Ue1jVUVlB1aQn8n7uA/ugF2DTs4GF7jg1JC5dxNndAC7ZR84EZRV1flTOsqGXb+Etmrw4vchnQKasBubUc3Prr6cKBsvdAQdyqDn6tGZDJZqhNo6VOgIdjY+ZZty6E4HnqqbVD5LTd8KcbDrl8z/8TGMg0Seh+Na065sdFMvmf4hMjf/FrSPCtfhHPoCoed7VxXvmmsXpdTZ4G+f1vpccOwN4ExeizFHEOYcQG9vr15wMjkT2EBB2SFQNqouFthDNSpSix3bi3ZT6EwSpsfws/8zqdy1KyTYCGwoCk7YKL9QBJxo8D8MoawijOT9z1N62XOWsyXKr5LG+TL3r5O+epHMZz8C7WPVt2AfeJbw0ycI7T264vUrPoufgYlLZk5AK2QUVeNT5j1GQEf24o31QWIKahqxd3WbxswGUc68X63sQAny42fACqM9G+1mUOkUkAImydz4KcnhT01Yyzbl3w6ZrRMJtmGwwygnZMp59pgTRtnBNhQxDb/scSdswtphcEIVpwwzD26S+eyKaQxrD+VEsDuOEXqiltCB3tVHqMC9O0ym792g0q3F6fwcoaeeXBiu7uCml89VpW853Gljvej4hhl7s8JBxNNrdsk3FrQLZAavolWtGTpz6nGHPgGnDuvFPyy5obtmhaW1fi1/PxDCs1rr/lVHFq03g3/aDwb+wKqNBRFb2Ac+h7Ors+ilWmvwMmg3BZmUUWrpJOQptJyic1PoTMH/ucn5sG66YKB3CZSVU2ILlJ4TKL1QZP68E1lCEQb/VyHklTLOpz0X7/Zl9NhATgit2hh6bADv9mWc3d0rFkBVG0Pf+jmZm8bV1x/6EKfzOKrjSZjth0c/Nl6AjU/CrhcXzKzuTY8ZE/LgR6bMKAvnwOcIPfPr6Ln4hij1cuZ9WWUHjPzYNeYjaWsCFQphNbQZ0zrg7DuG3d4NbhrtZkx5z269NLgZdGoW7U6YMF7ayMJqTfFZZZhVgguUYsiUeyccKL08RVlMORYeV6sbvdCeizd4A39sGJ0yTg9WXQx/bBhv8AZOx3OrsgZozyXz2S9w793CT5gpvuyaVtx7t8Cux/rCwVx8y5VPu2HXqp5jNelLf/pz3KEb+HNzpswvkb7lcKdSePHpIvLTgFPCUJNOz+FPj+HPjKKDLeEaUh9+L6in02A7WPVmLMy9dx0nPrxk/V5IuZwuXgVOAD1Bz+MNrfV3i4R7CXjpyJGFdlI7tg/nwOfMGFZhAg98DjvWsdy95wt2tGFdz6G1DoQ6BZmkUWhuoPQKFV2mQCmmZvBn5hUkbnrlGwLYTp7pMpLrBS7470Sgpgl34DLe4EeB26pCp2bJ3PoZfnqO0NFfRXlptO8FbqmBq2rwX+uC476HLthH+wuP5YfLO241tpP66O9Be+iUMUF5kw9Qyib96Q+xWjtRyoZILSpcgwrPbwlFwffIfPDXuP0/QWUmTT4kZnBvjYM7iXWwAWWFYd/vBl/E570jzyV1+a9w+97Bn40DpiJKf/oD/HSCSM83yq7UF46xBr157efKq/WF31+zKbRU2QnCriw/yjYt2LCpXUKdz+EcOr6m9GntB/KQXrj10sWPu6n5Sik4rt0UOjmN9jLzYdy0KW+rwXIgVFyhmWORoHcYnAvXkL7xU4wXmvGW06lZtNakb76N3d5tZMV3wfNMOfddky7fNee84LzvoepbSH38PRMuNQOAPzUCVoj0jZ9i7zuG1bQHVdOwbPms+ZV/kXsX2nPn6xM3DW5yPu9y9UgqN0xitqlcvs6fS2G1HyF95a+MDAd1j+e5YNl4Uw9Rsb0oy0LVxrBqm1A1MVRNw6IG80oNM621yceZ0UAxjeX9H4V0YlF89t6jpjzajTA3CVZe40P7xkJQImVRWFrrPwX+tIRwbwFv9fb2vpJ/XNkOoWeM54wXf7CoVVL2cZElUErNK46axnXFpbUPmTQ6k5xXevmKMBP8L9L704kp/KnsNUnwXOwDz5C59v0FBdIPBNGfHEGFokaZrRbLNj1GywJlGUUT/M9tlYWyrKAytPAziaDizn57EfRy/RRoD+/BTbysCaoQpbA7nyP94X82breBm6uyPCBB+toPUY3/DD03A4M/yF2Tu7x+F+6Nn84rVIVJnxPGnx4l9cFb+MOflaxYtO+ZHoabLKgo5itX7bmkP/uRqcgyCwXSHfwI5+gvl9xCLKRU2QnCbqr8KGUFFoPomq5fjly+e+lcJZxTfl5mvpL28pVfNmwGvOBYYho/954yOWVodzyJnhox98rKy+S8O7l775PFZVRZRh4sG2U5YNuBxcfGskNG8eWVRZ1JgWfGUd2B9/GGPzVyevUfjOwEZVtnkuD7ZD75AVZNA+69a6tT2tnhjKwFJ9trrY1hZc2ykTpUbZN5htkJtNaocK1RwpkU/vhg4JSzMF4VbUDVxlC1TVhNe/FGbuAOXQUvyLPEJOlPfmCUXl0z/sNbZhgmP466Zqz6XTidz2E17MKqb8Wq34Wqa0Y5YdyxAdz+90D7eKm5xXkerS8tH6igD4f1XBy1az/Rr/xLSCchHM0dZ4O60RuJUpZxDgmvX9i17+EOXcW9875p9QSCZzUG8+cBzt6jhI99Fax8pTOvfFSe8skqqbWOw7mB6Q/t400MA2A3Bz0hZRF68itEXngZ0nPo9Bw6nQi25j9uAqU8NCr48F2jPc8Ipp/CT8ziT44ED7/QRGspa15p+B5ojZ4ZQwOhvU+Q+ezH8z1fZeFPPURrjffx9yBaj//wlqnAMulcY2Al7I4n0TOjJn1eZuGHj6tsIW4U1SY/yrIhbKPYGGXoPbpjFIPv4ccfABqrKXDJtmxCj/8ykc+fMumwbGPpWMbs6I4N4A28v6jMm8/TNM7hF3AO9eBPj6IidUZRpOfIfWuWlblwLaGDz+ecxLIm05xFJXsstx8uyWHMHRvA+rQ1pxQU2fqBQCa/TPTzv48/F0cnJtFzcfy5SfRc8H9yBCybzCc/XNAoNr1Thdv/LtEv/pfYdTFUfaCUGnah6lpWHNZYjwVtUfiSQ5aBpUwaAE57t3wgvATKMk4oygnPj/MBKlSTDYBqap9XGhvMigWwZb9p1dcUN9G6wx9g1UbBz6B9U0koJ4L5gNEi1PUszp5/XvzasQG8ux8uqDispnYjWIE5SGsfUnPGZJlOzPcUPdcImzNfGZgxxuw4S3As55hjjvnTo7j3r6Py7pljlS3E9SDyUxrKsrFbDxI62GPKaFChZsdbnc7nsNsOr6rnuVSZV4Bz8HmcjidQtmMUR+NuUz5908vPb8zZnUuPx6+HUpSCsh3s8B6IFf+WKjN0DffOFfBc/EkzU4oV6zDKHIXddhhn3+pN68p2sA8fx5udQM3FTaN7Lo594Fnsw6szV2+qwlrKpCGsTDlbKetlTSYorY1r+tTH2E4tzv5nFo4JBZ8EOgeexW5c+rsMO7YPq/0x3L53cr1XnTDjYFbzPtRIHxa6aGXhdPWuqbJQ4VpCFZD3Ij+lU24zaanxFSuf/qyZwsnpfnHDyko5nlfV1BtTqMrOhBF4bcO6G2ahvUdxdnfjxYfzPoPpWPV7qBiToLA8lTLOl6VkE5SXMqsAT1010ynZEVSsh9CxXwYrRKb/Fwuf5clfQtUsrbCU7RA5/ttY4ZpFXlhO1xdgbrLsiqXS8l4ojXKbSUuJb7nyudFlZb3Pu9GNYmU76+5diqRVEZU0TuE0RnAijXnr2wTjaZFg/anUqFmafua68bSKtptJaeuOGJOm34fT/STOnr3mu6FwLdTUQWQvK31IaDfswvrC7+Mc/eVFrTW1QYole09qGtBumlDXC2tqIQqbR7nNpKXGt1z53EjW+7zV0DCrmDEsYWUqapyi6Po23WDXwdD/A8n7RvE0PA5Nz0Bk94LL7doI2Pshtm/hB4pZhbcCS7XWNkqxuCN9eI/6zAwqoQje/c/w7n+G3bZ570Tkp3ooR29iK6ikRnExlC7lQ9ky09vbqy9durTp9xXKhPZg5KJZzyb9yIxP2VEzVVL9EQi1QN1BMxWNXX4vsOXIKpZCNlOxACilLmut1zCdwsqI/AjbmeVkZ+v7eEL1kRyBqWtmyQIvYRSYzpjZ09PjsOfrWzY7eEX1QgVBKCuisISV8V0zVpW8Zzz9rIhZNDD4ZhgrDJE982NPq1jfRhAEoVRkDEtYjJ82Cipxzyw7nxoJBmAVhFuh5qBZd8oKQXrMXJO/JtUq1rcRSkfkR9jpyHdYglFQieGgBzVsek9ZBRVpC5aw3gfRvWYFUu2ZhRRnbi6OqwrXpKoWRH6EnY6YBHciXgqSw6YHlcwqKG0+DozshtjzZkn56J7Ae6+AjVo3RxAEYRlEYVUb2jMKxk2AU2N6MyspCC85r5wS94wZL6ugonuguReiHaYHZZVYJDZg3RxBEITlkDGsamJ2wKy0G38f8MFpNCuZNr9g3MizeHPGtJfrQeWNM0X3mPA1+yDSXrqCKqRmv/kJm4bIj7DTkTGsakF7Zoqj5IN5JeM0mP3pa6BdSAwGPagJc95yTK9p12NBD6pdzHVVjMiPsNMRk2C1kHwEMzeCb56CtaAycfBTkLgPKJgbNAqq4YmgB1WCuVAQBKFKEIW12WjfjPl4yeDD26RROrn9VME2OB7da8x8ADq7mrE230SFIsbVvP3XF67VJAiCsI0QhbVWtL+Mgkktr4iWQinjvGBFjfu4FTUODFYEQo0QipkwmanA5Xw3uVV/Iy2irARB2NZUjsJKDJkZvnOzf3dgKuLWjR3c194KSmcpJZReOs6s4rFrjLKxaoyyyVdEdtScs6N5++GllY72IPnQfPvkzWZvZDby7ZMgCDuAyvESLDr79xGoO1xa5Nor0ptZydyWKkHx5CkVpxasliWUTWR+a0XMteVkm337dGNwlBuDo/zDezcA+CcvPA7A4wdaefxA61YmrWIRL0Fhp1MZs7Vrj7m7f8fs9AhDc23MphS7Ghz2OHepqW8luutz5vueJXs9STPf3VIoa6FCyW1rljgeKCIrXH7Fs160B6M/M5PNNh6rascK1/P4q598Qjrj8eLTnRzY3YRjV+ezFCKztW8/bgyOMvQwzu0HE7iux5H9rShg/+6YNLLKSOXP1p56xGza4a3P2nj3k1ugNY5t0XN0Py897RKdvQUzfUbx5CsVpyGY0y6a19spYnJTocpTPGshMWTc1u0wEIa5AfOr2Vd130Q9is/y1tuf8Ddvf4rva352dYCexzt46UvHaIvVrXi963kMPpxkei5FQ20kp+w2qlKp9Mqq0tO3FZQ7T5obavjpR7d5Kyizne0j9DzewTPdexeFXap8biQ7oQxUhMJyM2ne+jDNpeuDuB4opbBwuHT9AagDfOvkUZzdX9s+imetbJOPdV3P4623P+HS9Xt4vkZrja81l67fA+Bb/7RnWeHOKrsrN4bxtcZSKqfsVlOprIaNirdcVHr6toJy5kl+mfV9Y5VaqswuVz5LaYytlXI8b6UrvYpQWINxxZUbQwBMpywSrkXYsbAUXPxgmMe6nyAcGaEm4lATCREJOdRGQ0TDDtFwCMcW77hqon94nH98/zbTiRSTM0k0mptDYzi2xfDoFO0tDWitaWmsNb+GGloaa3BsG9fz+E8/+Igff3ib8WmzjElLQw3fe/cmYcchlXG5fMMoQli6UlkNq6mstoJKT99WsJo80Vrj+T6u55NxfTKuF/z3yATbqdkkP/nwDq6vSbkeAHPJDCHH4vL1Yb7a082hvS3Lls9EyuXMb31+Q95FYSNQLfO8y7FRDZ9yKcKKUFjTaRvfioKXwNOKpKtIueBr0Mri6kCcj/s/W/L6kGMTDTlEA4UWDRtlVhNxcv9rIyEiYXO+Juzk/kfztrZV2Yqvklo/q0mL1poH4zNc7X/AR/0PqI2EGB6bwrYtQo6NbSti9VEyro/r+oyMTXP55jCF46uNdVF6HuvgB+/3YSmFUqAwW9fzGZua4+1rA0zPpphJpAFNIpVBKUX//XFsy+LG4Ci2beEE93aC/4t/NiHHwrYsmuqjXLh0C601ybSLyuvlX7kxX1ltFYMPJ7lyw3yjl/F8tNZMzxlnoh99cJsnD+3GtqxcfvravBO0qdQ0oPMqdY1GB2FMsLywwX4uLh8IwmfPF9v3g/DaD+4XnEfP7+u8e/tB+oqlJauAdOG1efv72xr566DSnZlLoYGBB3G01gyMxLFti4/6HuQU00o807WHwUeTAKQyZrx8KNgHuHDpFg8nZjh2qJ1//KAfy1JYpoDiOBZawzvXBniqq51kys0pyOzW9/WCfc/TuJ6H52s8b2FYrzCsrzl2cDdv/vBjPM8nlXFRKFzPx7YtRsZn6GhtxNeaxtoojXURGmojNNZFaayNEHKMItvIho9G80H/A/7zuzfwfc3e5nqOH93Hvt2rm3e0IhRWQ20UKxzDT0NTdJKmqE8kbNzCVaiJrx3v5vd+7WmSaZdEKkMi7ZJKZ0ikXBLpDMmUa86lMyRTGZJpl7HJ2eCYSzKVyQnMcoQdm2hWiYUdopEQNYHCi0ac3P+sgosGyi9aENayNsZsWUlmn5XS4no+t4ZG+bh/hI/7HzA6aVzxD+yO8dyRPRza00w4ZDP00Ah9a5MxlVhK8dXj3Xzr68eJzyQYn0owPjXH+PQc41MJPN8nkcyQ8XyS6QwAnu9jWxapjIvn+dREHDKuh1KKloaaXEXWWBfliYO7yXherhLIVliJVCa3v/Dn8fiBVh7FTfpTGddURAG+1kzNLfNt3SYwPZfKle9k2sX1PNyxqdz5D27e5+P+BxuaBqWU+RE41wZ5pLINiwXng62Vtx9kqRWEA7Dyzufvo1RegyVvP/ffvCcd9DRQCgsIOVYuHQ21Ub5w7AChoGGSbaCEbBvHmW/QhGwLx7FJpDJcDiru+2PTALTF6oyy0ZoDu5vwfM10IsXUXCqnOABGPD+XT5/eeZh7F5Zl4VjKNKAsK9eQsi2FY1vmfLAfDtnYdijYz4YxjT3Htog4Dk11URQwPp1Aa00k7OB5Pol0hsGHk7x/c7jou4uGHRrrojx9qJ2/fec6SikSaRdLwdRsCstS/PSjAXoe38eupjoiIZtI2DHbkLOgAVcM1/N4+6M7TM8m+c0XnwAFsbood4fHefujO3R3tJSsCCvCrf3A7iZ6Hmvn0qdz6FAzCg2hEADHH99D1yoeqBhaazKun1NoibRRcPP/jdJLBEowlZ7/PzM3w1ygBJNpd1GrvxjhkFF4NUGvrjYyb740vb78/wVKMGzMnYUFoZLMPkul5RefDjE1l6JjVwM//2SQZNol5NgcPdDKid4jPNO1h+aGGlzPY+BBPJf2fHoe72D/7iYc26K1qS6nyLLcvj/O2x8P4GvN3ZE4YJSgUtDSWENzfQ3hkI3rmkpiV1MtYCrC5x/bu6ae0O3741ztH8HzNUMPJ02PI8BSisbayKrjXAtLyU9DbQRLKXytqY2E0Dh07GrMpe9Xnz3E7/3a02bfUihMTa8K9vN7rfn7oHIKyBgh1CKlVGncvj/OO1fv4mudaxR1tM7nSc8qy4LreXzx6U4uXb+HHTRIa6Omjuo9uo8TvUdwbJvb98d595NBPF8z+DCO1rCvtdGsa2pZnHzhCK+89AK2ZZU1327fH+fCpTp8bawKAHt3NeSe92TvEf6r3+hlei7F1Gwy2BrlOjWXZGo2Rdr1SKRNwy3bGHwwPp27xzvX7hZt+IQdo7giYYdwoMSy20jIpr2lnom5FFZtmB/dGMJHUx8N88yBNtzg/ZT6Lipi8lvHtnnpV54DK5zzGutsb8gNVK63IlbKtFDCIZumuuh60k8q4+UptHlFlkgFPb2MUXSFijE+kyQZXJPKeCUpPtPTM0rviYNtvPUzYxadTWZQilyr/3vv3eTA7hizyQyWla1IFJaVNZnlVTDZigiFCs5bSuVauwvC5LWM5yssRSbj8eMP76C1Ju16+L5mcGSSRDrD7fvj/POTz3P86H6e6WrnaGcbkdDCYubYNi996RgAw6NT+P7Cgenl3veB3U30PN7Bpev38ipMcy5WF+XFpzq5fGNpRbgW8u+Zq9DLEO9qWUp+8tNnKlNT3sFUpkc723bcGFZ+nhSylndWapldVD4DkyCYd3FoT/OGvItSntexLZobamhuKL4i+O374/zsqmkMDj6cRGvN3l3GlKg0fP7JA7z4VKepAzMuqYxLOvif3abS2a3LTCJNKu1SVxNm0nX5cMA0+pQyDdwP7z7k2c7dzAUKthQqwiQIpnv9rX/aQ2NdlHTGtGb2V9h3OUqpXC+oifUqPtcotlxPb3HvLqcI0xm8wHTla2Pb1homZ5NBhMaR4ertkcCGr0tSiGvlma49Oft91uwRDtnsaqylvibMc4/t5XMrmCnX+r4d2+YLxzoZm0owMZ3A9zUT0wl6Ht/Hk4fa2d1cj1KrV4Qr3XOtCnYzqPT0bQUbkSellNnlyucXjnVu2Lsox/MuaJhh6rtQnrJ99sieNaX/2t2H/PWHfdREQiQyC7+XvTr4iG8EkwaUQsUorOzMB8ZEFuLq7Ydcvf1wW858YBSfec5SyTeFZU0c2VaipRS//vnHOPNbX1hwTXag2oxvaHx/4f/s4Hn+ILev593M8wez/bz/Y1MJrly/h68198emsSxFZ3ssl5ZSTGTred9PHW7naGcrQw8nmZpL0VgbyVUcNwZHObinmX/9e18kkXKpiZgiPjGdWJdLcaU3qCo9fVtBufOk1DK7XPncSCamE+sq+xvV8FGWIhxxmElmsGwL8hrTtTVhc6xEKkZhbUfFVE7WYuLImQKzJqwyyUt7Sz0vBvb8wk8KSjW3rPd9O7Zd1O69UeWo0htUlZ6+raDcebKa65YqnxtJOd51OZW81pq+h3FuP5rEw5hGM4nAGca2qa+NsDtWR0NNuOQ4K0ZhCctTSWafSkrLZlHpFX+lp28rkDxZPeVS8ndHJ7l49Q53Ric51NrEl5/s5PajOA8mZtDafJsWCTl87kAbe5rqS45XFFYVUUlmn0pKiyAI5WG9Sn54YprvXx3g5sg49dEwv/lcN8cP7+XW8BjpjMvAyKTxZExm6Gpr4pl9raua+EEUVhVRaWYfx7YZDMbTtvLDWUEQtpaRyVl+8MkAn94bpSbs8E+eOcwXujtyHyU/caCNIx27ONgWI+15HD+8hz1N9auepUgUVhVRSSaOrPJ8bL9Jz/8XuNxXUhoFQdhYxmYS/PDaAB8PPiLsWHz12EFefGzfok9ZABzb4n58BoD9LY1rup8oLGFNiGIShJ3L5FySf/z0Lu/fGcG2FF86up9ffnw/tZHins+3A+eLQ20xAH5wbQCAw21NHN4dK/m+orAEQRCEkphOpvnJZ4O8138fgM93d/ArTxygIbq8p9/h3bFVKaalqIipmQRBWBmRH2Gjuf0wzv34LEPjk7ie5mBbEwpFc12EwbEpftE3jOdreg7t4deePEBT7donUFgLFTE1kyAIKyPyI2w0TbURLvXf5/vXzCQFe+/XcaCliYZoiE+Hx/lcZxtfPnaQXfXFp3faaMQkKAiCIOB6Pt+/eoePhx7h+2ae0Luj09x+NMWLRzr470/20Na0cQtQloIoLEEQBIH78Rk+HnxIfC7NdDKNBmK1EZrrojycmiXlrbxu2EYjCksQBGGHM51IcWN4jIGxKXxtlkKJODbtQY/K1zCTLH1W9Y1CFJYgCMIOZXwmwU+vD/H+wAhP7G2hPhKmoSbM2ExiQThLQX209Mm6NwpRWIIgCDuM+/EZfnp9kKuDo1iW4vlD7Xzp8X1YSvHx0KNF4Z/at7o5/zYKUViCUALZDx9/8tldAH7liU5g9R8+CsJWcufRJD+5PsjNB+NEHJsvPb6PFx/bR0ONWRLoa08fAsxUS77WWMooq689fWjV0yhtBKKwBKEEDu+OcWBXo1ld1fN4bE8ze2OrnwtNEDaKpb6h2tNUi+trfvzZXe6OTVEXCXHi6UO80NVBTXihCpicS7GvpZF/8SvPkMy4REMOoJicS9GyRa7s+YjCEoQSGJ9J8P2rd7h47Q6+1rx/50Gu5VkJgiwIhd9Q7btfz6G2GI+mZ7l8+wFNNRF+87lueg7tyU1KW0i5ZqTYKERhCcIK5H+f4vka3zcrMGdt/b/zwlHpaQlbyqJvqDyfu2PT9D2a5PjhPXzzl57kiY5d2FZ1l9PqTr0gbAK571Nmk8wk08ylM7lVvq/de8SDyZmtTaCw47kfn+GDgYdMzCSZTqZJZlwsS9HeWEt8NkFTbaTqlRVID0sQliWZcbn5YJyBsWl8rXEsi0jIRilzvlK+TxF2JqmMy9WhRwyOTXN3fArF/DdUHc3Gq287lVFRWIJQhGTG5ec37/Gzm/fo3h2jLuzQWBup2O9ThJ2D1pqB0Umu3B7h2r1HZDyf3sN7aa2voTYS4uHU7ILw26mMlk1hKaXeCP7GtdavlSteQdhMUhmXd24N887NIRJplyc6dvGrT3Zu6PcpIjtCKUzOpfhgYIT374wwPpsg4tg829lOz+F22hvrSGXciv6GqhyURWEppXqAs1rrfqXUeaVUj9b6SjniFoTNIJVx+fmtYX4WKKqje3fxlWMHc2aVjfo+RWRHWA7X8/lseIwrdx7QNxJHozncFuMrxzo5tq91gbdfpX9DVQ7KorCyAqaUigFdInBCtZDKuPyib5i3bxhF9fieFr5y7CD7WhoWhGupr+F3XjhKfTRM2vM4fngPe5rW/x2WyI5QjOGJGd6/84CPBh+SSLs01UT4tScP8Pyhdprrin9GsVFltJIop0mwBzgLXFzi/GngNEBnZ2e5bisIayLlerx7yyiquXSGxwJFtb9AUWXJznQRCTlEQg437k9w4/5EWWa6WEl2gjAiP9ucuVSGjwYf8v6dEe7HZ3Asiyf37eL5Q3vo2h3Dynr6LMFGltFKQemsf+5qL1TqbPC3T2t9ruD4Ba31ksLX29urL126tKb7CsJ6SLse7/YN89PrgaJqb+ErT3Wyv6WxrPdRSl3WWvcucW7NsgMiP9sJX2v6RiZ4/84Inw6P4fk+HbF6eg7v4ZkDbdSEt4ezxGpYTnbW3MPKHxwusLuPAV1rjVcQSsH1fO7HZ5hNZaiLhHLTJC01PU1rQ5RHUwl+emOQ2VSG7vZmvnLsIJ27yquoSkFkZ/uzVPnMMjaT4P07I3wwMMJUIkVtOMQLXXvpOdTOntj2cJDYCMplEowHnk4tAFrrU8UCKaVeAl46cuRImW4r7ESy0yRdu/cIX7NgcLlwepqO+/V0tjbSEI1wdejRliqqJShJdkDkZ6tZqjG0N1a3wOS2VPn88pOdDE3McOXOAwZGJ1Eojuxp5uvPdnN0b8u2GmvaKNZsElwPYtIQ1orr+fzfP7vGe/33ic+lALMqKsBXnzpI2vX5ePARwxPTuL6PQuFpzRe69/Jbxx/jwK6mTUnncmaN9SLyszUUzie5r7l+0XySxcpnXSREMuNybF8rEcdGA88faue5g+00BrOkC/NsiElQENbLSmaTYtyPz9A3MkFNOMRkImXmTXN9PO0zNpPgyu0RppJp0q5ZzrupJkKsLsLo9BxqhUFrQViKwrn6fK1JZjwu3X5AIuPy4pEO5jIeGdfj/Tsjuesyns9MKoMFDIxO8a9OPs+THa1SFtfIpiosMWkIWW7eH+cfP73L2zeG8LWmpS7KU/uN2eSxvS0Lwk7OpRgcm2JofIpkxqP/0SQa40ChgIznYVsWWoOlFC11USbnUliWYk+sspb4Xg8iP1vH3dEpftE3zGwqw3QybcrfhJlD8sHkLBHH5tq9UY7ubeFRMBtKxvWwLEVbQw11kRBKKSxlibJaB5uqsLTWbwFv9fb2vrKZ9xUqC9fz+WBghMHxKUKO6VE11kYYHJ/iysAINRGHgdEphsamGByfZiphTCuOZdHbtZdYbZSQYzE5l0Ip2BsMUjfWhKmPhgk5FnPphcppO0xPI/KzeXi+z+DYFDcfTHBrZILGmjAjU3PYliJkW9iWxa6GGiylUAoe39PCiacPEZ9LcX14DFDcDyZFro+Gge1RBrcaMQkKm879+AzX7pkpZHxf4/ma8ZkEyYzH3dEp0Jpr90aJ1UY51NrE/l0N7G9pZG+sDq1hNpnm46FHOUWWpSES5vlD7Vzd5tPTCKVRqpNElvhsklsjE9x8ME7/wzgp18NSioOtTXTvbuZAyyiObXE/bhRRXcQoH0tBW1MtuxpqaaqN8syB3dt+iqStomIUlixBXl2stjLQWjM5l+LexAwP4jMMT8ySdj0SGTd3PhyyaYiGOdjWxG88f4SGoGVayHMH24nPpZiaS+FrzdRciqf2t3FkTwu7GmpQbO/paYqx2vexE1i0oOED4yTxRIcxOWc8n4HRSW49GOfmgwkeTc+Z62oiPNO5m8fam+naHSMScnA90+NaSRE5trVk+XzuYPu2LoObQcWMYckS5CtTSZXScpWB1prpZJrhiRnuTUwzPG62WTPd0/tbgfkWqm0p9jU3gDKt1f0tDUsqK4DH9rZweHeMB5MzzCQz1EdDuSlobj+MV/QS3+thOflZqXLeaSxwkgg8oX0NVwZGmE6maKmr5eOhh2Q8H8eyONTWRG/XXo60N9PaULNonMmxrZLn6luufArro2LGsGQJ8pWplEqpsDLQGmZTLj+5PsjD6TnCjs3g2BRgnCDaGmt5omMXHc31dDQ30Fpfg8LMfp72jDcfQf1QqtnEsa2is1NU+hLf62Ep+Vmqci7Hishaa3Sw9c0f/Ozx4N3r4BjZMOhcuche7+uFcekFYVkQlwmv8+IjiC845+fFU5gW5tP5zq1hfO2Tdj18XzM0Nk3G9xmemOF3X3ic44eNgjrc1rTkkvH5TM6lSm4MLVU+hfVRESbBfIFzPR+tIZE2LqMp1+NrTx9Ea4WlAKUwG7PNHrMUQPbc/PkF2yBM7hoWXmsFlWYlevGstlLSWuN6PmnPx/W83P9MsJ9xzf/cvld83/V8Mp5H2vVxfbPf0VzP33/Uj+drkhkXjZmbTwEf3Bnhn33xGM8caKOjuYG9TXVFK4OdMLP0ZpE/JphMu3i+Zmh8GoDh8RlCjk3fyERe5R4oAPKURFDZm21WKWz+N5rl4ujelpyJL+tNWhsJ0RSOUBN2OLp3F0907FpVnNu5MVQtVITCyhe4jOeTcj0y8XmX0ZBtce3e6KamSaEKFN9i5ZcLQ1YZLg6TnbAyu11OmSpUYBZbeI2lFO2xOn5wbQAfzVzKjPs8iJvK/v7EDOGQzY3747i+TyZQLmt97pBjEbItQrZNyLZwbLMftm1qwyFCtk3EsVFK4WuNUtDeVEfEcYzXXnPDipXBTphZerOYTWVyPRGlFJYFkbxGQjRk07U7FrhVB2Usv3ybQ8G5hQ24/DJqFZb7gv3i5/OvXxwf5Dc6C+ShWFoK46NQ1szxR1MJrg+P4WtThyhMGc3eT7z1qpOKGMPKFzjjMqpobajNnT/U1sSzB9tzZgYoaBEuMA1QxFywMCxQ0KLMM3dk42exmWJ+a9LlBzfzCba5uAtbrAXxLBN3fjzZrev7JNMumUAJ5Z4BjR0Ia9i2eWxPS6BoLBzbJuzMK5uQbS/6H7YtQo6FY1mEHKOcrKBSWI7BsSne7buHr8mZ9Ix5pPTKYCfMLF1ulpKfukgIS5kedyRkFFVbo5EfS8HTB9p2nHmqJhzKeesVFmfx1qteKmIMK1/gLEthoagJz1eA+1oadpzAFTI4NsUHAw/wNTm32uz3R5aCZzo3r1LaGzNjZ+tx3RXzyupZSn7K8T62G6txkhCqh4owCYrArUwl5ZFUBpWFvI/iiNl5+1ERCksEbmUqLY9W4zElbDxSOS9GzM7bj4oYwwIRuFKopDwSk97ms5z8SOW8GCmj24+KWV4kK3CF7GSBK0TyqHqQ5UUEYW1UxfIi0hpaGckjQRB2MmJvEwRBEKoCUViCIAhCVSAKSxAEQagKNlVhKaVeUkqdm5xc7DggCMLyiPwIO51NVVha67e01qebmpo287aCsC0Q+RF2OmISFARBEKoCUViCIAhCVSAKSxAEQagKRGEJgiAIVYEoLEEQBKEqELd2QagSRH6EnY64tQtClSDyI+x0KmbyW0EQ1o7v+4yOjhKPx/E8b6uTIwg5bNsmFovR2tqKZa2vj1RRCsv3fYaGhpidnd3qpAgbRF1dHfv37193wRUWMjQ0hFKKQ4cOEQqFUEptdZIEAa01mUyGkZERhoaG6OzsXFd8FaWwRkdHUUpx9OhRqdC2Ib7vc+/ePUZHR9m9e/dWJ2dbMTs7K3IjVBxKKcLhMPv27eP69evrjq+iSnc8Hqe9vV2EbptiWRbt7e2I08DGIHIjVCrlKpsVVcI9zyMUCm11MoQNJBQK4bruVidDqFD6+/vLEk88Hi9LPNuZaszrilJYgNjetznyfisL7bnodAKtfbP1VteY6O7u5syZM4uOnzx5kpMnTwJw7ty53H53dzfHjx/P7V+5ciV3zWuvvbauZ+nu7s79f+WVVypOaXmeTzLjorUmmXHxPH9V129lXsfjcY4fP1703GbmdUWNYa0Z3wPtghUGPw3KAcsu6dJz585x/vx5wLQ4YrEYLS0tAJw9e5aenh6am5s5ceJELsw3v/lNXn31VQCam5vp7e3lwoULuTi7u7vp6+sr5xOuGdfzybgekbBDKu0Scmwcu/R2Snd3NydOnOCNN95YcDwrINnnzuZDPvl5IlQeOp0kc/d9Um//Od6jO9hth4h86VuEOp9DhaMlx1PYUo/H44yPj+fk6PTp05w+fRqAU6dO8c1vfpOXX355wTVXrlwhHo/T1dW1zqcynD17ltdee21Rud0qkhmXj+8+5C9+/il3R6fobG3kD148xjMH2oiGSq+Gd3peV7/C8lIwcwMe/D0k70N0L+z5OtQ/BnZkxctLecFATqllw333u99dEO7KlSv09PSU4YHKRyKV4b3PhvjOW+/SPzxOV0cLp7/xeXqP7qcmUrrpdSUhySIKqnrQnkvm7vvM/eW/zR3zHvYz95d/TO3v/DGhw70ou7Tq4eTJkwvk4dy5c5w5c2aBzKzE66+/ztmzZ1f3EMvQ1dXFpUuXyhbfevA8n4/vPuRP3vp57tidR5P8yd+8wx9940V6DrZjl9iI3Ol5Xd0Ky/eMsrrzf84fS96DO/8HHPqX0PBkyT2t1XDy5Enee++9XKHJtjAqqcJ2PZ/3Phvi1T/7u9yxm0Nj/E//4e/49//q67z41MGSe1rlEBJhc5n7wf+O93DpXn7db75G6u0/L3ou9faf47QfYeZvl67U7N3d1H71vwVMo+/UqVO58vHmm29y/vz5VZWPK1eu5Fr88XicU6dO0dXVRXd3N6dPn+ZrX/saJ06c4OLFiwssHKdOnaK/vz9nAcmnt7eXixcvFj1XTv7jP37InUdLOxL9D19/gb/4+adFz735zid0tcX43/7+vSWvP9TWxH/95WeB8uf1lStXeO2114jFYnR1dfHtb3+br33ta1y+fBkwlpOJiQnAvJczZ87k8jS/R7VZeb2pCksp9RLw0pEjR1YOfO//hcS95cMc/EPTsyrGyN9BzX64W1woqdkH+3535XQUcPHiRd54440FBSTbs9rMXtb/+p9+yo3B0SXP/9v/5gTfeevdoue+89Z7HD3Qxv/8Hy8uef3jB1r5N7//y0B5hERYP6uSn5XiqmvBe3Sn6Dlv9A6qrrnkuGKxGGAqtKzyKOx9r5aLFy9y+fJlenp6iMfjXLlyJVeJdnd38+qrr3Lu3DlaWlpy5fDcuXML4uju7i6bY8F6aK6Ncnd0qui5u2NTxOpWtgRlKXdev/nmm5w6dSpnZVppLCqrpLJjYtn6brPyelMVltb6LeCt3t7eV8oSodNozIDFSNyHUGNZbgPmBWXHt86fP7/I/ltpvaxdjbX0D48XPdd3b5xdjbUlx1WqkGTHtQDOnDlT1LQqrJ3VyE+297NkXOkEdtshvIeLKxm79RC4aRr+4N+XnLYzZ85w7tw5+vr61jSgny1jWXp6ehY0/vL/j4+bct3X17egzBUSi8U2xRkg2/tZimTGpbO1sWgvrHNXIxnX53859asl36+cef3tb3+bV155hbNnz3LmzJmc4ipG/nUnT57k0qVLufeyWXlduSbBUno/XsqMWSWL9MRq9oKfgSP/uizJOX/+/CKhyie/l7UZZHs/S5FIZejqaOHm0Niic937Wki7Hn/2P/52yfcrRUgqRVkLJWCHiHzpW8z95R8vOhX50h+CvbrPS15++eWc8ujq6lpV5bXWyq67uztnmi92fTFFuBWELIs/ePEYf/I37yw6980XjxFahRMUlDevY7FYrofa3NzM6dOnc+cL483fv3DhwoJxsM3K64pza18VyjEOFsVo/7o5v4mcPXuW119/fVPvuRQhx+b0Nz5f9NwrL71AyFnd2N7LL7/MhQsX6O/vL5t3kbB1KNsh1Pkctb/zx9i7u8GyzbjU7/yx8RIs0eEin5MnTxZ1u94oTp8+TX9/P8ePH+f1119fVC7fe++9RZ6rW4FtWzxzoI0/+saLHG5rwrYUh9ua+KNvvMgzB9pKdrjIp1x5ne8Gf/r06dxY1qlTpxblaSwW48yZM3R3d3Py5MkFvd5Ny2ut9ab/jh8/rovxySefFD2+LG5S6/jHWl//U60/+DdmG//YHF8lL7/8sj5//vyi47FYTE9MTBS9JhaLLdg/ceLEomNbxVwyrX/8Yb/+w3/3pv7if/dn+g//3Zv6xx/267lkuuQ4urq6cv/Pnj2by5+JiQl94sSJ3LnVPPOa3nOVAVzSmyg/a81T381oPzWnfd8zWzezpnjWy6uvvqovXLhQ1jh7enrKGt96cV1PJ1IZ7fm+TqQy2nW9LUnHVuV1qWV0OdmpfoWltdaeaxSU75mt564tnm1IxvX0XDKtPc/Xc8m0zmyRkOQjCqtyFFal0NfXp19++eWyxXf+/Hl99uzZssW3ndiqvC6Hwqpuk2AWyzbfXCnLbDfAlb1acWyLmkgIy1LUREKr+mhYEDaLrq6u3OcT6yUej3PhwoWc67uwkGrO68p1uhAEYUexnIfaaojFYhUzw0WlUq15Lc1tQRAEoSqoOIVlTJjCdkXe78YheStUKuUqmxWlsGzbJpPJbHUyhA0kk8ngOGKJLjehUIhEIrHVyRCEoiQSibIsHVVRCisWizEyMoLvr27afaE68H2fkZERmpqatjop247du3dz79495ubmpKclVAxaa+bm5rh3715ZVhmvqKZua2srQ0NDZVlKWahM6urqaG1t3epkbDsaG800ZMPDw2KlECqKUChEe3t7royuh4pSWJZl0dnZudXJEISqpLGxsSyVgiBUKhVlEhQEQRCEpRCFJQiCIFQForAEQRCEqkBthUeRUuoREAfyF4hpyttvBZZenXDt5N+jnNcsF2apc8WOFx5bbl/yaOX9rcyjg1rrtg24d1Z+BpZJy0Y990qspeyUI471lr+VzpdSDpc6tpPeRanhVwr3mNa6uCvxUpMMbvQPOLfUPhs0cWjhPct1zXJhljpX7PhyeSJ5VN15tFG/JfJowybe3eh82Yryt9L5UsqhvIvSw6/nXWylSfCtFfY3457luma5MEudK3Z8pTyRPKrePNootltatqL8rXS+lHJYajo2i614F6WGX/O72BKT4EoopS5prbd+5bUKRvJoZXZqHu3U565E5F2Ul0p1uji31QmoAiSPVman5tFOfe5KRN5FGanIHpYgCIIgFFKpPSxBEARBWEBFTc2Uj1LqVeAFrfWprU5LJaKUyq6aFtdav7alialQlFLngRjQr7U+s8XJ2TSkbFQOO7UMbhQV2cNSSsWA7q1OR6WilOoBzgYC0BXsC3kopU4Dr2itTwb7J7Y4SZuClI3KYaeWwY2kIhUWcDb4CUXQWl/RWvcHir1La31lq9NUaWitz2mt48FuH6aVu+2RslE57NQyuJFUnMIKWoRxrXX/Vqelkgny6TxwcavTUgWcZAflk5SNimRHlcGNoiK8BJVS2d5UH3AKM23TOHACY97Y8a6h+XmUnx/B8Qta6x0vDMXyKBjPObudG0BSNiqHnVoGN4uKUFjFCEwa3xGni8UopXqypp7AOSUuSn0xQeXxxk6qKKRsVBY7sQxuJBXrJSgsSzxotbUAiFJfTFBZnwB6lFJgKo3vbm2qNgUpGxXCDi6DG0bF9rAEQRAEIZ+Kc7oQBEEQhGKIwhIEQRCqAlFYgiAIQlUgCksQBEGoCkRhCYIgCFWBKCxhEUqprk28V2yz7iUIlcRmyllwv9hm3m8jEIW1TpRSXUqpC0qpy8Hv/Abco08pdbnI8R6llFZKvVwYtuD3asG5C8HvfKHQBHGdyNufKPfzFPCd7SBIwjxrkQmlVN9mpG015D1HX/A7ny2rVShnsB1kTWstvzX+gC5gAujJO9azAffpC35dBcffCI6/nHdsojBcQTxd+WnFTCGT3Y8BlwuumdiEPLyw1e9SfmV9n6uWifxyuNHpW8dzVK2c5T1TVcua9LDWxxvAazpvRmy9cbNjfxd4ueDYCdYxoWaQ1pa8VtdpzDNtGjqYsmazzSPChrGZMrEW3iixl/EGZmmQ/OdY0ywVlSBnQTqqXtZEYa2PE3qZedqUUi/nmQtOB8cuK6VOZ018hfvL8CaQWwAuWFtnzcpKKRUL5jm7pOeXQFh2RulizxMcfzXP/PFG3gKCpXKBxcpYqE5WLRMBLUqps1lTWl7403nhu4JjhTK0VJgF8QXl8gTw/RLK6Im1KqiC560kOYNql7Wt7uJV64/AZLDM+R7yut+Y5R5OABozp1j2+IL9JeLqC+53gcBEEcTXg2mpFZoqLgdhs7+uvHiy5zRwuuA+i54ne2yZ58mZGTAtx1fXkJcngPNb/U7lt77fWmUi+K/zyunlIK4eAtMZxox2IS/sG3lxLhVmQXx5/2PreY4gTNXJWXBtVcuaTH67RvT8InlL8U1MYcvyBmbpFHTBUtmF+8vwRhDvFYziuhJMqlnIKb307NCngrS/yupWdV7qeV4jmGgVsyRMLs5gYPlk/vMFx+KYSuO7edfFVpEWoQJZh0xcZOEaeP2YCjq7Um/2mt68e2XL1DeXCFMsvpJmTC98DmXWF/tOEMcpPb9cS7XJWfbaGFWKmATXx8V8D70ViAXbeMHxwv0lCQrey8E912Wu0Fr/aRBXbKWwSxAL4okDBGaXM8Dreff4LvNClp29uj8Q+JNrvK9Q2axFJpbjda31qeDXHByLlxBmvVzMmuO0WcX5OGswwYuclRdRWOvjDMZVtCd7IO9/tmDlh73A+rkCnKU8g7ZnMS3HUij6PMGYwUWt9cngF18mjhfIq2zyBn9Lbv0KFU85ZaJw3LZnjWHyGceUt5U4A7xWQnylUClyBlUua6Kw1kFgDjgOZAd3+4BvB+cuYjySLgeDwxd0edbCeR24sowpAkwB78v7FVVu2gyO9+QJ5aWlBHSZ5xkHXlVKTRR+q1IC2XBdGJu/UOWUUya08a47n+c4sch0XkqYAi4E4Zf9Nix4jpMFzxFjYWVfbXIGVS5rsh6WkCMwgXRrrV9bxTVnWbgc+KtBHGeC/fM6WEQwOHcxGHvLP34Z+NoKrUZB2BZslZwF56pa1qSHJeQIhOHEigGXp5/Anh6MZfQo44IPcA7oDfbfDML0sNDlVxC2NVshZ0G4qpc16WEJCwjs3a+V6rkYmCW+w0KnkldKFQql1Bur8JIUhG3BZstZEEfVy5ooLEEQBKEqEJOgIAiCUBWIwhIEQRCqAlFYgiAIQlUgCksQBEGoCkRhCYIgCFWBKCxBEAShKvj/AY6+NArXzQFYAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 864x468 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "nt=\"sm:varying error rate\"\n",
    "def sm_fig3():\n",
    "    filename=datapath+\"/rand_RL_3.csv\"\n",
    "    fig=plt.figure(figsize=(12,6.5))\n",
    "    gs=gridspec.GridSpec(2,20)  \n",
    "    ax1=fig.add_subplot(gs[0,:6])\n",
    "    ax2=fig.add_subplot(gs[0,6:12]) \n",
    "    # ax3=fig.add_subplot(gs[0,12:18]) \n",
    "    chosen_dict1={\"nshots\":np.inf,\"ri\":16,\"corr_mean\":0.008,\"co_rate\":0.01}\n",
    "    chosen_dict2={\"nshots\":np.inf,\"ri\":16,\"ind_mean\":0.015,\"co_rate\":0.01}\n",
    "    chosen_dict3={\"nshots\":np.inf,\"ri\":16,\"ind_mean\":0.015,\"corr_mean\":0.008}\n",
    "    method_list=[\"noisy_TPN\",\"noisy_MF\",\"MS_fixed2\",\"MS_fixed2_fast\"]\n",
    "    label_list=[\"TPN\",\"MF\",\"MT(rnd)\",\"MT(sub)\"]\n",
    "    label_loc=[-0.117,1.05]\n",
    "    alpha=0.75\n",
    "    base_fontsize=14\n",
    "    markersize=8\n",
    "\n",
    "    ylim=[1e-4,4e-2]\n",
    "    yticks=[1e-3,1e-2]\n",
    "    yticklabels=[\"-3\",\"-2\"]\n",
    "\n",
    "\n",
    "    # plot_corr_MAE_1(ax1,'(a)',filename,chosen_dict1,method_list,label_list,\"ind_mean\",r\"Ind MER(log$_{10}$)\",r\"Err-abs($\\times 10^{-2}$)\",colors_dict2,markersize,base_fontsize,\"log\",yticks=yticks,yticklabels=yticklabels,ylim=ylim,xticks=[1e-4,1e-3,1e-2],xticklabels=[\"-4\",\"-3\",\"-2\"],xlim=[6e-5,0.07],xscale=\"log\",ylabelpad=-2,legend=False,ncol=1,error=\"abs\",label_loc=label_loc,alpha=alpha)  \n",
    "\n",
    "    plot_corr_MAE_1(ax1,'(a)',filename,chosen_dict2,method_list,label_list,\"corr_mean\",r\"Corr MER(log$_{10}$)\",\"\",colors_dict2,markersize,base_fontsize,\"log\",yticks=yticks,yticklabels=yticklabels,ylim=ylim,xticks=[1e-4,1e-3,1e-2],xticklabels=[\"-4\",\"-3\",\"-2\"],xlim=[],xscale=\"log\",ylabelpad=-2,legend=False,ncol=1,error=\"abs\",label_loc=label_loc,alpha=alpha) \n",
    "\n",
    "    plot_corr_MAE_1(ax2,'(b)',filename,chosen_dict3,method_list,label_list,\"co_rate\",r\"Coherent GER(log$_{10}$)\",\"\",colors_dict2,markersize,base_fontsize,\"log\",yticks=yticks,yticklabels=yticklabels,ylim=ylim,xticks=[1e-3,1e-2],xticklabels=[\"-3\",\"-2\"],xlim=[],xscale=\"log\",ylabelpad=-2,legend=False,ncol=1,error=\"abs\",label_loc=label_loc,alpha=alpha)  \n",
    "\n",
    "    #label\n",
    "    labelspacing=0.8\n",
    "    handletextpad=0.2\n",
    "    label_size=2.5\n",
    "    handles=[]  \n",
    "    for name in method_list:   \n",
    "        handles.append(Line2D([0],[0],linestyle='-',color=colors_dict2[name],marker=\"o\",markersize=markersize,markeredgewidth=1,markeredgecolor='white',label=label_list[method_list.index(name)]))  \n",
    "    ax1.legend(handles[:2],label_list[:2],handletextpad=handletextpad,labelspacing=labelspacing,prop={'size':base_fontsize-label_size},ncol=2,loc=\"lower left\") \n",
    "    ax2.legend(handles[2:],label_list[2:],handletextpad=handletextpad,labelspacing=labelspacing,prop={'size':base_fontsize-label_size},ncol=2,loc=\"lower left\")\n",
    "\n",
    "    fig.subplots_adjust(wspace=2,hspace=0.3) \n",
    "    plt.savefig(\"../paints/result4.pdf\", dpi=800, format=\"pdf\", bbox_inches='tight')\n",
    "sm_fig3()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "base",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.7"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
